0

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
4

2 回答 2

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>
于 2012-07-06T00:26:12.657 回答
1

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

多配置项目对于您的构建将执行许多类似构建步骤的情况很有用,否则您将重复步骤。

但是您不能以这种方式在本地计算机上构建项目。

于 2012-07-06T06:39:18.713 回答