目前,我面临的问题是,我需要在具有不同Java版本的作业中运行两个maven目标。
第一步是使用Java 6编译我的代码。 第二步是使用Java 8运行Sonar。
我怎样才能做到这一点?
谢谢
答案 0 :(得分:0)
首先感谢toolchain或maven.compiler.source
和maven.compiler.target
的其他提示。
对我来说,遗憾的是没有工作,但我为我找到了一个简单的解决方案。那就是使用jenkins管道。
这种情况下的工作区是共享的。它是使用node命令创建的。
node('Slaves')
{
stage('Build with coverage and All tests') {
echo 'Starting build with ALL unittests'
withMaven(jdk: 'JDK6') {
//execute maven with java6
}
}
stage('Execute Sonar') {
//do other stuff
withMaven(jdk: 'JDK8') {
//execute maven with java8
}
}
}
答案 1 :(得分:-1)
您可以使用java 8
作为默认设置,并在pom.xml
中设置properties以下,以使用java 6
作为源和目标编译器。
<properties>
<maven.compiler.source>1.6</maven.compiler.source>
<maven.compiler.target>1.6</maven.compiler.target>
</properties>