1
193
您可以指定 终名 属性为jar指定所需的名称,并指定 附件程序集ID 应为false,以避免出现“jar with dependencies”后缀。 下面的配置将输出一个名为“test.jar”的jar
更新:根据您的评论,使用内置描述符是行不通的。我认为这是由于程序集插件的最新版本中的一个bug引起的——它们已经取消了对分类器的支持,但是如果使用内置描述符,则ID是固定的,因此最终会得到一个愚蠢的名字。 作为解决方法,您可以复制 jar-with-dependencies 描述符并修改ID。 此示例将导致程序集ID附加到finalname,因此,如果需要的名称为 环满 ,可以将finalname指定为 区域 程序集ID为 满的 . 这将在目标中生成一个名为region-full.jar的文件,但请注意,它仍将作为附加项目安装到maven存储库中。 满的 用作分类器。只要这个ID与其他程序集的ID不同,就不会发生冲突。 POM配置如下所示。
和src/main/assembly中的jar-assembly.xml如下所示:
|
2
24
我想我已经找到了一种在POM中直接配置它的方法,而不需要单独的jar-assembly.xml。 它基本上与Rich的答案相同,只是finalname是用artifactID和version指定的。
|
3
8
多亏了这里的柱子和一些挖掘 maven docs 我为一个通用的一次性重新打包的可执行jar程序集(带有自定义名称)提出了以下配置。 在POM.XML中:
在assembly.xml中:
这将产生
|
4
3
我要赞扬Rich为我指明了正确的方向,但我想公布对我有用的解决方案,因为Rich的方法有点过时: 我的jar-assembly.xml看起来像这样,它允许程序集ID为存储在我的配置文件中的属性的区域进行更改:
我没有在Maven程序集插件设置中使用finalname参数,因为它用我的项目名version-env-full.jar name构建了我的项目,其中env full是分类器。 想象一下,当我得知程序集XML可以由构建中的项参数化时,我的惊讶。这正是我要找的。 |
5
2
这对我有用
|
amaidment · Java资源InputStream正在关闭? 6 年前 |
kussart · 如何压缩java应用程序以获得一个小型jar 6 年前 |
a7emenov · 通过Jenkins在远程服务器上部署jar 6 年前 |