首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在构建的程序集插件中包括Maven配置文件名(带有依赖项) jar

在构建的程序集插件中包括Maven配置文件名(带有依赖项) jar
EN

Stack Overflow用户
提问于 2012-05-01 16:31:03
回答 2查看 7.7K关注 0票数 7

我正在使用maven程序集插件构建一个带有依赖项的可执行的、单块的jar。我还使用资源筛选来设置一些自定义的、特定于车道的属性(开发、阶段、prod等)。

如何使jar的finalName包含车道名称(开发、舞台、prod等)?

我希望下面的mvn命令产生类似于这样的jars:

-> ws-client-DEV.jar

  • mvn清洁安装-P阶段-> ws-client-STAGE.jar

  • mvn清洁安装-P PROD -> ws-client-PROD.jar

有什么我找不到的maven财产吗?如果可能的话,我想避免使用冗余命令行参数(例如- 'mvn干净安装-P DEV -Dlane=DEV')。

下面是我的组装插件配置:

代码语言:javascript
复制
<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>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-05-01 17:11:10

类似于Bhaskar,但稍作修改。

在标记后面,添加

代码语言:javascript
复制
<finalName>${project.artifactId}-${lane}</finalName>

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

代码语言:javascript
复制
<profiles>
    <profile>
        <id>DEV</id>
        <properties>
            <lane>DEV</lane>
        </properties>
    </profile>
</profiles>

然后按您所说的执行构建: mvn . -P DEV (例如mvn干净安装-P DEV)

票数 9
EN

Stack Overflow用户

发布于 2012-05-01 16:45:40

在标记后面,添加

代码语言:javascript
复制
<finalName>${project.artifactId}-${lane}</finalName>

并将"lane“env变量设置为配置文件名。

-P、DEV、-Dlane=DEV等。

或者,您可以更有创造性地发现活动配置文件ID,如下面所描述的Maven - Can I reference profile id in profile definition?

编辑

如果你想避免多余的争论。

为什么不使用env触发相应的配置文件。属性。

等命令行

代码语言:javascript
复制
mvn -Dlane=DEV|STAGE|PROD

在水壶里

代码语言:javascript
复制
<profile>  
  <id>DEV</id>  
  <activation>
    <property>
      <name>lane</name>
      <value>DEV</value>
    </property>
  </activation>
  <build>  
    // rest of the profile  
</profile>

舞台和产品轮廓也是一样的。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10400886

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档