gpt4 book ai didi

java - -Dmaven.compiler.executable=...jdk5/bin/javac 在 jenkins 上被忽略

转载 作者:行者123 更新时间:2023-11-30 07:13:26 28 4
gpt4 key购买 nike

我正在运行 Jenkins 版本。 1.532。我已经创建了一个 maven 作业,并尝试使用配置为从 oracle 下载/安装 jdk5 的 jenkins JDK 自动安装程序将其配置为运行 java 5。但是当我运行构建时,我得到:

ERROR: [JENKINS-18403] JDK 5 not supported to run Maven; retrying with slave Java and setting compile/test properties to point to /var/jenkins/tools/hudson.model.JDK/jdk5
maven31-agent.jar already up to date
maven31-interceptor.jar already up to date
maven3-interceptor-commons.jar already up to date
[my-project] $ /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java -cp /var/jenkins/maven31-agent.jar:/var/jenkins/tools/hudson.tasks.Maven_MavenInstallation/maven/boot/plexus-classworlds-2.4.2.jar:/var/jenkins/tools/hudson.tasks.Maven_MavenInstallation/maven/conf/logging jenkins.maven3.agent.Maven31Main

它似乎退回到使用 jdk7(默认)构建。然后我尝试将以下内容添加到构建/目标和选项部分:

mvn clean install -Dmaven.compiler.executable=/var/lib/jenkins/tools/hudson.model.JDK/jdk5/bin/javac

但是没有任何作用。难道不能使用 -Dmaven.compiler.executable 选项强制使用 JDK 版本吗?

编辑:我现在已经切换到 jenkins freestyle 项目类型并使用 maven-enforcer-plugin 使构建失败,如果在构建项目时使用 jdk!= 1.5。请在此处查看最后一段:

https://blogs.oracle.com/darcy/entry/how_to_cross_compile_for

注意这里:

http://maven.apache.org/plugins/maven-compiler-plugin/examples/set-compiler-source-and-target.html

最佳答案

根据 http://maven.apache.org/plugins/maven-compiler-plugin/compile-mojo.html#executable , -Dmaven.compiler.executable 将仅针对 Maven 编译器插件覆盖编译器可执行文件,而不是针对整个 Jenkins 作业。如果您只需要使用 JAVA5 编译源代码——设置此属性应该足以强制 Maven 编译器使用 JAVA5。即使 Jenkins 作业将使用 JDK 1.6 或更高版本来运行 Maven 启动器。

当然,您需要在 Jenkins 作业设置中设置 JDK 1.6 或更高版本。由于 Jenkins 无法使用 JAVA5 运行 Maven,因此您不应使用它。

关于java - -Dmaven.compiler.executable=...jdk5/bin/javac 在 jenkins 上被忽略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19434575/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com