gpt4 book ai didi

java - 在 assembly-plugin 构建(具有依赖性)jar 中包含 Maven 配置文件名称

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:56:28 25 4
gpt4 key购买 nike

我正在使用 maven-assembly-plugin 构建一个可执行的、具有依赖项的整体 jar。我还使用资源过滤来设置一些自定义的、 channel 特定的(dev、stage、prod 等)属性。

如何使 jar 的最终名称包含 channel 名称(dev、stage、prod 等)?

我想要以下 mvn 命令生成如下所示的 jar:

  • mvn clean install -P DEV --> ws-client-DEV.jar
  • mvn clean install -P STAGE --> ws-client-STAGE.jar
  • mvn clean install -P PROD --> ws-client-PROD.jar

有没有我找不到的 Maven 属性?如果可能,我想避免使用冗余命令行参数(即 - 'mvn clean install -P DEV -Dlane=DEV')。

这是我的程序集插件配置:

<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.2.2</version>
<executions>
<execution>
<id>jar-with-dependencies</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<finalName>ws-client</finalName>
<appendAssemblyId>false</appendAssemblyId>
<archive>
<manifest>
<mainClass>Example</mainClass>
</manifest>
</archive>
</configuration>
</plugin>

最佳答案

与 Bhaskar 的类似,但略有修改。

标签后加入

<finalName>${project.artifactId}-${lane}</finalName>

您可以将车道值设置为配置文件中的属性。

<profiles>
<profile>
<id>DEV</id>
<properties>
<lane>DEV</lane>
</properties>
</profile>
</profiles>

然后像你说的那样执行构建:mvn ... -P DEV(例如 mvn clean install -P DEV)

关于java - 在 assembly-plugin 构建(具有依赖性)jar 中包含 Maven 配置文件名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10400886/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com