Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 交换;maven汇编插件";开/关_Java_Maven_Maven Assembly Plugin - Fatal编程技术网

Java 交换;maven汇编插件";开/关

Java 交换;maven汇编插件";开/关,java,maven,maven-assembly-plugin,Java,Maven,Maven Assembly Plugin,我们当前的DevOps环境运行mvn包,并在私有Maven存储库中自动部署jar工件,所有目标文件夹都被缓存以供以后使用。但是该项目还有一个maven汇编插件设置了第二个jar文件的打包方式(一个胖jar,后缀为-jar,带有依赖项) 我们不希望“胖jar”由maven assembly plugin生成,并与其他文件一起存储在该缓存中 是否有一种方法可以通过命令行(或任何其他属性或环境变量)打开和关闭maven assembly plugin,以仅在明确需要时运行它?最简单的方法(IMHO)是

我们当前的DevOps环境运行
mvn包
,并在私有Maven存储库中自动部署jar工件,所有目标文件夹都被缓存以供以后使用。但是该项目还有一个
maven汇编插件
设置了第二个jar文件的打包方式(一个胖jar,后缀为-
jar,带有依赖项

我们不希望“胖jar”由
maven assembly plugin
生成,并与其他文件一起存储在该缓存中

是否有一种方法可以通过命令行(或任何其他属性或环境变量)打开和关闭maven assembly plugin,以仅在明确需要时运行它?

最简单的方法(IMHO)是在自己的配置文件中定义插件。在
pom.xml
中,添加一个
profiles
部分,并在其中添加一个
profile
,其中包括插件:


集合
org.apache.maven.plugins
maven汇编插件
然后,默认情况下,不会调用该插件。当您要调用它时,可以使用
-P
标志显式启用此配置文件:

mvn包-密码

您可以将属性
assembly.skipAssembly
设置为
true


在命令行上(使用
-Dassembly.skipAssembly=true
)或在POM本身中。

如果您不需要或不喜欢它,为什么它会出现在您的构建中?它会在其他情况下使用(手动)。非常具体,并且应该明确要求。然后您应该使用配置文件并在默认情况下停用该配置文件。。。除此之外,为什么要手动使用某些东西?您是否使用CI/Cd?这是一种偶尔用于遗留环境的部署。通过单独的模块生成包并将其部署到您的存储库管理器就是这样……它工作得非常出色!完美的谢谢