Travis Java构建使用不同的SDK进行编译和测试
我有一个使用Java8类的库,如果它们可用,并且对于较旧的JRE版本提供了一个回退实现。这意味着我必须使用Java8(或更高版本)进行编译,但我希望使用JDK7执行测试以测试回退。我不知道如何在Travis中实现它。最简单的方法是在pom.xml中为Travis创建特殊的Maven配置文件Travis Java构建使用不同的SDK进行编译和测试,java,travis-ci,Java,Travis Ci,我有一个使用Java8类的库,如果它们可用,并且对于较旧的JRE版本提供了一个回退实现。这意味着我必须使用Java8(或更高版本)进行编译,但我希望使用JDK7执行测试以测试回退。我不知道如何在Travis中实现它。最简单的方法是在pom.xml中为Travis创建特殊的Maven配置文件 <profile> <id>travis</id> <build> <plugins>
<profile>
<id>travis</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.7.0</version>
<configuration>
<verbose>true</verbose>
<fork>true</fork>
<executable>/usr/lib/jvm/java-8-oracle/bin/javac</executable>
</configuration>
</plugin>
</plugins>
</build>
</profile>
我猜你已经在使用构建矩阵了?如果是这样,你会发布你的矩阵配置吗?ThxIt似乎答案就在这里,现在我只需要找到通往Java8JDKyeah的路径,但另外,您仍然需要
jdkswitcher
。在任何情况下,您都可以将jdk(或所需jdk版本)的路径存储在特定于每个构建矩阵元素的环境变量中。这就是为什么我要求您提供构建矩阵配置(如果您有)。
script: mvn install -P travis