切换"maven-assembly-plugin"on/off
Switching "maven-assembly-plugin" on/off
我们当前的 DevOps 环境 运行s mvn package
并在私有 Maven 存储库中自动部署 jar 工件,并缓存所有目标文件夹供以后使用。但是该项目还有一个 maven-assembly-plugin
setup what packages 第二个 jar 文件(一个后缀为 -jar-with-dependencies
的 fat jar)。
我们不希望 maven-assembly-plugin
生成“fat jar”并因此在这种情况下与其他文件一起存储在该缓存中。
有没有办法通过命令行(或任何其他 属性 或环境变量)将 maven-assembly-plugin
打开和关闭,以仅在明确需要时才 运行 它?
最简单的方法(恕我直言)是在其自己的配置文件中定义插件。在您的 pom.xml
中,您添加一个 profiles
部分,并在其中添加一个包含插件的 profile
:
<profiles>
<profile>
<id>assemble</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<!-- All the configuration you have for the plugin -->
</plugin>
</plugins>
</build>
</profile>
</profiles>
那么,默认情况下,这个插件将不会被调用。当你想调用它时,你可以使用 -P
标志显式启用此配置文件:
mvn package -Passemble
您可以将 属性 assembly.skipAssembly
设置为 true
。
在命令行(使用 -Dassembly.skipAssembly=true
)或在 POM 本身中。
我们当前的 DevOps 环境 运行s mvn package
并在私有 Maven 存储库中自动部署 jar 工件,并缓存所有目标文件夹供以后使用。但是该项目还有一个 maven-assembly-plugin
setup what packages 第二个 jar 文件(一个后缀为 -jar-with-dependencies
的 fat jar)。
我们不希望 maven-assembly-plugin
生成“fat jar”并因此在这种情况下与其他文件一起存储在该缓存中。
有没有办法通过命令行(或任何其他 属性 或环境变量)将 maven-assembly-plugin
打开和关闭,以仅在明确需要时才 运行 它?
最简单的方法(恕我直言)是在其自己的配置文件中定义插件。在您的 pom.xml
中,您添加一个 profiles
部分,并在其中添加一个包含插件的 profile
:
<profiles>
<profile>
<id>assemble</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<!-- All the configuration you have for the plugin -->
</plugin>
</plugins>
</build>
</profile>
</profiles>
那么,默认情况下,这个插件将不会被调用。当你想调用它时,你可以使用 -P
标志显式启用此配置文件:
mvn package -Passemble
您可以将 属性 assembly.skipAssembly
设置为 true
。
在命令行(使用 -Dassembly.skipAssembly=true
)或在 POM 本身中。