切换"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 本身中。