是否可以在一个jenkins工作中使用不同的Java版本?

时间:2017-07-17 11:39:58

标签: java maven jenkins

目前,我面临的问题是,我需要在具有不同Java版本的作业中运行两个maven目标。

第一步是使用Java 6编译我的代码。 第二步是使用Java 8运行Sonar。

我怎样才能做到这一点?

谢谢

2 个答案:

答案 0 :(得分:0)

首先感谢toolchainmaven.compiler.sourcemaven.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>