Jenkins / Maven: 无法解析默认的JAVA_HOME路径,构建失败。

11
我在Jenkins中遇到了Java Builds的问题。
解决的错误是以下内容: 无法定位Javac编译器: C:\Jenkins\jre\..\lib\tools.jar 请确保您使用的是JDK 1.4或更高版本而不是JRE(需要com.sun.tools.javac.Main类)。 大多数情况下,您可以通过设置JAVA_HOME环境变量来更改Java安装位置。
我有JDK1.6和JDK1.7项目,因此需要两个JDK安装。对于我的默认Java JDK,我将1.6用于JAVA_HOME变量,它指向C:\Program Files\Java\jdk1.6.0_45。对于1.7版本也是同样的,但使用了一个单独的变量(JAVA_HOME7)。路径变量包含了两个JDK版本的附加路径\bin。
在Jenkins中,我还添加了两个版本的JDK作为辅助变量。如果我为某个项目设置了具体的版本(例如JDK1.7),那么它就会顺利构建。不幸的是,我有许多构建项目,所以手动设置这些将耗费很多时间。
我不明白调用或变量的路径在哪里设置了错误的"C:\Jenkins\jre\..\lib\tools.jar",我应该在哪里修改它...
Jenkins版本:1.509.4
有什么提示或建议来解决这个问题吗?

1
你说你设置了JAVE_HOME变量。这只是你的帖子中的笔误还是你真的这样做了?(应该是JAVA_HOME) - Jeanne Boyarsky
抱歉,我犯了一个错字。我已经在原始帖子中修正了它。 - mchlfchr
这可能是一个权限问题。请确保 JAVA_HOME 要么在系统范围内设置,要么为运行 Jenkins 的用户设置。可能是你只为当前用户设置了它,而该用户不运行 Jenkins。 - André Stannek
在Jenkins配置中,您可以注册您的两个jdk。然后在特定的构建中,在Java选项中选择其中一个。JAVA_HOME仅用于默认Java配置。 - arghtype
1个回答

20

我遇到了相同的问题。以下步骤解决了这个问题

1)进入“管理Jenkins”-“配置系统”

2)在“全局属性”-“环境变量”中添加JAVA_HOME及其路径

3)在JDK部分添加JDK及其路径


2
在Jenkins 1.575中,当您执行第3步(添加JDK)时,它会提示您输入JAVA_HOME路径,因此您实际上可以跳过第2步(跳过将其添加到全局属性-环境变量下)...第3步是关键,谢谢! - Damon

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接