首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在jenkins上忽略了.jdk5 5/bin/javac

在jenkins上忽略了.jdk5 5/bin/javac
EN

Stack Overflow用户
提问于 2013-10-17 18:37:20
回答 2查看 3.1K关注 0票数 2

我在管理詹金斯大学。1.532。我已经创建了一个maven作业,并尝试使用jenkins自动安装程序将其配置为运行java 5,该自动安装程序配置为从oracle下载/安装jdk5。但是当我运行构建时,我得到:

代码语言:javascript
复制
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构建(默认)的问题上。然后,我尝试将以下内容添加到构建/目标和选项部分:

代码语言:javascript
复制
mvn clean install -Dmaven.compiler.executable=/var/lib/jenkins/tools/hudson.model.JDK/jdk5/bin/javac

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

编辑:我现在切换到jenkins项目类型,如果在构建项目时使用jdk = 1.5,则使用maven- freestyle失败构建。见最后一段:

for

请注意:

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

EN

回答 2

Stack Overflow用户

发布于 2013-10-21 14:58:14

根据http://maven.apache.org/plugins/maven-compiler-plugin/compile-mojo.html#executable的说法,-Dmaven.compiler.executable只对Maven编译器插件覆盖编译器可执行文件,而不覆盖整个Jenkins工作。如果只需要使用JAVA5编译源代码,那么设置这个属性就足以强制Maven编译器使用JAVA5。即使在Jenkins作业将使用JDK1.6或更高版本运行Maven启动程序时也是如此。

当然,还需要在Jenkins作业设置中设置JDK1.6或更高版本。因为Jenkins不能使用JAVA5运行Maven,所以不应该使用它。

票数 2
EN

Stack Overflow用户

发布于 2014-06-05 08:33:36

我也有个类似的案子我帮过你。

我的maven正在使用JDK1.7运行,但我想用JDK 8构建一个项目。

代码语言:javascript
复制
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.1</version>
    <configuration>
        <source>1.8</source>
        <target>1.8</target>
    </configuration>
</plugin>

如果我只运行mvn clean install,我会得到一个错误,例如:

致命错误编译:无效的目标发布: 1.8

当我将JAVA_HOME设置为JDK 8时,它会像一个魅力一样工作,但我不想这样做。

maven编译器有这个选项,就像您提到的executeable --但是在我的情况下这是行不通的,它仍然会在相同的错误消息中失败。

我想出了以下命令

代码语言:javascript
复制
mvn clean install -Dmaven.compiler.executable=/usr/lib/jvm/jdk1.8.0/bin/javac -Dmaven.compiler.fork=true

作为附加信息,我附加了mvn -v的输出

代码语言:javascript
复制
Apache Maven 3.0.5 (r01de14724cdef164cd33c7c8c2fe155faf9602da; 2013-02-19 14:51:28+0100)
Maven home: /opt/apache-maven-3.x
Java version: 1.7.0_45, vendor: Oracle Corporation
Java home: /usr/lib/jvm/jdk1.7.0_45/jre
Default locale: de_DE, platform encoding: UTF-8
OS name: "linux", version: "3.11.0-20-generic", arch: "amd64", family: "unix"
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19434575

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档