我正在使用 maven-assembly-plugin 构建一个可执行的、具有依赖关系的整体 jar。我还使用资源过滤来设置一些自定义的、特定于通道的(dev、stage、prod 等)属性。
如何使 jar 的 finalName 包含通道名称(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>