如何在多模块环境中从命令行指定最终的jar文件名

时间:2015-12-22 08:53:46

标签: maven jenkins jar pom.xml

我有一个如下的父母pom。

<modelVersion>4.0.0</modelVersion>
<groupId>com.navionics.sonarcharts</groupId>
<artifactId>distributed-task</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<name>sonarcharts</name>
<url>http://maven.apache.org</url>
<parent>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-parent</artifactId>
   <version>1.2.4.RELEASE</version>
   <relativePath/>
</parent>
<dependencies>
   <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <scope>test</scope>
   </dependency>
</dependencies>
<modules>
   <module>rabbitMQHandler</module>
   <module>DswJni</module>
   <module>dataInputHandler</module>
   <module>notificationEmulator</module>
   <module>modelingWorker</module>
   <module>controller</module>
   <module>contouringWorker</module>
   <module>TimerHandler</module>
</modules>
</project>

我正在使用带有Master的git存储库并开发分支并使用父pom.xml所在的jenkins构建系统。

我在jenkins中创建了两个作业(一个用于开发,一个用于主分支),并使用mvn clean install构建系统,这正在生成一个jar modelingWorker-1.0-SNAPSHOT.jar,如pom中所述,在pom中。两个分支中的xml相同。

现在我想要生成2个不同的jar文件,即开发它应该像modelingWorker-1.0-SNAPSHOT.jar,而master应该是modelingWorker-1.0.jar。

这样做的方法是什么?我希望两个分支都有一个pom,但是我改变了命令行参数。

我的意思是说单个pom.xml应该生成2个带有2个不同名称的jar文件。 请帮我找到mvn命令,为多个模块生成不同的jar文件。

1 个答案:

答案 0 :(得分:0)

您的需求的潜在解决方案 - 创建不同的罐子/战争或任何您做的,是介绍配置文件。通过调用jenkins特定作业上的每个配置文件,您可以配置不同的插件或依赖项。见here