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
答案 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
多配置项目对于构建将执行许多类似构建步骤的实例非常有用,否则您将复制步骤。
但是你无法以这种方式在本地机器上构建项目。