当前位置: 首页 > 知识库问答 >
问题:

CloudFoundry. cfignore文件排除两个JAR文件之一

张子墨
2023-03-14

我的Gradle构建作业在构建/库文件夹下创建两个JAR文件(带有更改的VERSION占位符):

$ ls build/libs
foo-VERSION.jar foo-VERSION-all.jar

只有fo-VERSION-all.jar表示要上传到CloudFoundry实例的工件

$ cf push

我的问题是,这两个JAR文件都被上传到CloudFoundry实例,导致错误消息,如

没有容器可以运行此应用程序。请确保使用-p命令行参数或路径清单条目推送了一个或多个有效的JVM工件。

好的,-p CLI参数是一个选项,但是应该有另一个!

在CloudFoundry的舱单上。yml我声明一个路径:

$ grep path manifest.yml
  path: build/libs

现在宣布一项新的计划应该是可行的。cfignore文件(应该类似于众所周知的.gitignore文件)以排除foo版本。jar文件,但我没有得到它,例如,通过以下尝试:

$ cat .cfignore
*
!build/libs/*-all.jar

怎么了?有办法让它工作吗?

谢谢

基督教的

PS:我想在我的帖子中添加一个“.cfignore”标签,但不幸的是我不被允许。

共有1个答案

颛孙信厚
2023-03-14

默认情况下,应用程序的根目录和文件的推送位置为 。在清单中设置路径时。yml或setcf push-p,您正在更改应用程序的根目录。

在您的示例中,您将根更改为build/libs。因此,您需要:

  1. 放入。cfignorebuild/libs文件夹中
  2. 使用build/libs中的相对路径

当放入build/libs/时,以下内容对我很有用。cfignore

*
!foo-*-all.jar

最后只上传了一个JAR文件。

其他注意事项,确保您使用的是最新版本。这个地区过去曾报告过一些错误。

可能还值得一提的是,如果您调整构建以生成具有稳定名称的文件(如foo push me),这将使事情变得简单得多。jar。如果名称没有更改,您可以设置path:build/libs/foo push me。jar并且您不需要处理所有的忽略文件。

 类似资料:
  • 问题内容: 我正在记录一些Java Web服务和支持的数据类型。我不想记录两种服务。从Ant javadoc任务中排除少量文件的正确方法是什么? 我已尝试使用嵌套在sourcepath或sourcefiles下的文件或文件集进行多次迭代,并使用include和exclude的各种组合。 我已正确定义的基本目标记录了我所有的Web服务: 我尝试过的一些变化包括: 这个错误 与源文件相同的错误,但是有

  • 问题内容: 不同长度的2个未排序文本文件如何可以是由侧显示侧 (在列) 在一个 给定和: 显示: 几乎可以解决问题,但是并不能很好地对齐列,因为它仅在列1和列2之间打印一个标签。 我知道如何使用emacs和vim做到这一点,但希望将输出显示为stdout以用于管道等。 我想出的解决方案使用,然后通过管道进行sed删除,以增加输出。 我可以创建一个函数并将其粘贴在我的函数中,但是肯定已经存在一个命令

  • 我有两个jar(比如A.jar和B.jar),其中包含一些文件。我想创建第三个jar(比如c.jar),它只包含B.jar中的文件,而不包含A.jar中的文件。是否有用于执行此操作的java API。 谢谢

  • 那么如何防止插件jar进入war文件呢?多谢了。

  • 我想从我的checkstyle报告中忽略一个特定的文件夹(名为generated-sources ),因为它们是生成的。 我正在使用 eclipse-cs 来显示我的违规行为。 我在xml中添加了suppressionfilter: 我的压抑.xml看起来像这样: 但它不起作用。有什么想法吗?

  • 我用NetBeans中的GUI做了一个项目。GUI有一个名为GIFL2的标签,当按下按钮时,它会通过 问题是,当我构建项目并打开jar文件时,图像不会加载。我最初认为这是因为图像在img文件夹中,而img文件夹又在SRC中。因此,文件夹的相对路径是src/torrehanoirecursion/img 但是,我将所有的映像移到src本身,没有文件夹,因为我读到java可能会因为它们不是src的一部