Java 交换;maven汇编插件";开/关
我们当前的DevOps环境运行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)是
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?这是一种偶尔用于遗留环境的部署。通过单独的模块生成包并将其部署到您的存储库管理器就是这样……它工作得非常出色!完美的谢谢