【问题标题】:Jenkins maven has other java version. How to solve it?Jenkins maven 有其他 java 版本。如何解决?
【发布时间】:2019-09-05 02:41:32
【问题描述】:

我正在编写一个新的 Jenkinsfile 来使用我的管道,并且我正在尝试使用 Maven 进行构建。

我写的 Jenkinsfile 是这样的:

node {
    stage('Mvn clean install') {
        echo 'Start to : mvn clean install'
        def mvnHome = tool name: 'mvn_3.6.1', type: 'maven'
        sh "${mvnHome}/bin/mvn -version"
        sh "${mvnHome}/bin/mvn clean install -P sonar"
    }
}

构建过程中出现的错误有:

[INFO] --- maven-compiler-plugin:3.8.1:compile (default-compile) @ jmsight-management ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 119 source files to /var/lib/jenkins/workspace/jmsight-management-pipeline/target/classes
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  2.009 s
[INFO] Finished at: 2019-09-04T17:32:13+09:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project jmsight-management: Fatal error compiling: invalid target release: 11 -> [Help 1]

重点是在服务器和Jenkins上运行mvn -version的结果是不一样的。

查看我的 Jenkins 控制台输出。

[Pipeline] }
[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (Mvn clean install)
[Pipeline] echo
Start to : mvn clean install
[Pipeline] tool
[Pipeline] sh
+ /var/lib/jenkins/tools/hudson.tasks.Maven_MavenInstallation/mvn_3.6.1/bin/mvn -version
Apache Maven 3.6.1 (d66c9c0b3152b2e69ee9bac180bb8fcc8e6af555; 2019-04-05T04:00:29+09:00)
Maven home: /var/lib/jenkins/tools/hudson.tasks.Maven_MavenInstallation/mvn_3.6.1
Java version: 1.8.0_222, vendor: Oracle Corporation, runtime: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-0.el7_6.x86_64/jre
Default locale: ko_KR, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-957.el7.x86_64", arch: "amd64", family: "unix"

当我直接在服务器上运行mvn -version

[jmuser@cicd-vm-dev01 usr]$ /var/lib/jenkins/tools/hudson.tasks.Maven_MavenInstallation/mvn_3.6.1/bin/mvn -version
Apache Maven 3.6.1 (d66c9c0b3152b2e69ee9bac180bb8fcc8e6af555; 2019-04-05T04:00:29+09:00)
Maven home: /var/lib/jenkins/tools/hudson.tasks.Maven_MavenInstallation/mvn_3.6.1
Java version: 11.0.4, vendor: Oracle Corporation, runtime: /usr/lib/jvm/java-11-openjdk-11.0.4.11-0.el7_6.x86_64
Default locale: ko_KR, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-957.el7.x86_64", arch: "amd64", family: "unix"

java 版本显示不同。我做错了什么?

【问题讨论】:

标签: java linux maven jenkins jenkins-pipeline


【解决方案1】:

要为 Jenkins 作业配置 Java 主页,您需要以下内容

  1. 在 Jenkins 全局工具中配置 JDK。转到 JDK 部分中的 Manage -Jenkins -> Global Tool Configuration 添加一个 JDK。

    注意 JAVA_HOME 应该是有效的 JDK 而不是 JRE。

  2. 您可以使用以下 sn-p 设置 JAVA_HOME。
    env.JAVA_HOME="${tool 'jdk1.8.0_181'}"
    

这应该使用/jdks/jdk1.8.0_181 作为JAVA_HOME

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-06-11
    • 2019-10-20
    • 1970-01-01
    • 2016-01-02
    • 2018-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多