在一系列依赖项中构建多个maven工件

时间:2012-07-05 22:05:54

标签: java maven build

Maven是否有办法在一系列依赖版本中多次构建和测试项目?

例如,假设我有以下库:

groupId        artifactId  version
com.example    library     1.0
com.example    library     1.1
com.example    library     2.0
com.example    library     2.2

我的构建产生了一个jar工件:output.jar

我是否可以针对每个库版本生成以下内容:

groupId        artifactId  version    result
com.example    library     1.0        output_1.0.jar
com.example    library     1.1        output_1.1.jar
com.example    library     2.0        output_2.0.jar
com.example    library     2.2        output_2.2.jar

2 个答案:

答案 0 :(得分:2)

尝试个人资料http://maven.apache.org/guides/introduction/introduction-to-profiles.html

<profiles>
  <profile>
    <id>version1.0</id>
    <dependencies>
       <dependency>
         <groupId>com.example</groupId>
         <artifactId>library</artifactId>
         <version>1.0</version>
       </dependency>
    </dependencies>
    <build>
      <finalName>${project.artifactId}-library-1.0.jar</finalName>
    </build>
  </profile>
  <profile>
    <id>version1.1</id>
    <dependencies>
       <dependency>
         <groupId>com.example</groupId>
         <artifactId>library</artifactId>
         <version>1.1</version>
       </dependency>
    </dependencies>
    <build>
      <finalName>${project.artifactId}-library-1.1.jar</finalName>
    </build>
  </profile>
</profiles>

然后当你打电话给maven时:mvn -Pversion1.1

默认情况下,您的某个配置文件应该处于活动状态,这样您就可以在不启用特定配置文件的情况下进行编译。

<activation>
  <activeByDefault>true</activeByDefault>
</activation>

答案 1 :(得分:1)

您可以使用jenkins或hudson的矩阵项目功能。见https://wiki.jenkins-ci.org/display/JENKINS/Building+a+matrix+project

  

多配置项目对于构建将执行许多类似构建步骤的实例非常有用,否则您将复制步骤。

但是你无法以这种方式在本地机器上构建项目。