Jenkins,指定JAVA_HOME

我使用apt-get在我的ubuntu盒子上安装了openjdk-6-jdk。

在系统信息jenkins告诉我Java.Home是/usr/lib/jvm/java-6-openjdk/jre

但是,当我在Jenkins中将该目录指定为JAVA_HOME :“configure system”时,它会返回错误消息,指出该目录看起来不像一个jdk目录。

它也没有拿起我的Maven安装。

我错过了什么明显的?

您的JAVA_HOME变量必须设置为/ usr / lib / jvm / java-6-openjdk,并且它必须可供启动Jenkins的用户使用。

来自Kyle Strand评论:

截至2015年4月(我认为),詹金斯需要Java7。 另外请注意,如果系统默认仍然是Java 6,那么必须将java二进制路径(JAVA)设置为正确的版本。最后,对于任何想知道这些变量设置在哪里的人来说,它都位于一个配置文件中,其中包含Jenkins网页(例如,对于Debian,它是/ etc / default / jenkins)。

在CentOS 6.x和Redhat 6.x系统上,openjdk-devel软件包包含jdk。 如果您熟悉RedHat中使用的-devel模式,但是如果您正在寻找符合java命名标准的jdk包,则会感到困惑。

使用Jenkins 2(在我的情况下为2.3.2),正确的方法似乎将以下内容插入到管道文件中:

 env.JAVA_HOME="${tool 'jdk1.8.0_111'}" env.PATH="${env.JAVA_HOME}/bin:${env.PATH}" 

“jdk1.8.0_111”是最初注册到Jenkins的java配置的名称

openjdk-6是一个Java运行时,而不是JDK(例如包含javac开发工具包)。 安装openjdk-6-jdk

Maven也需要JDK。

[编辑]安装JDK时,使用/usr/lib/jvm/java-6-openjdk for JAVA_HOME (即没有jre部分)。

如果有人有类似的问题,我使用默认的sudo apt-get安装相关的包,这里是正确的设置:

 JAVA_HOME=/usr/lib/jvm/java-7-openjdk-i386 

 MAVEN_HOME=/usr/share/maven2 

在Jenkins中,尝试将JAVA_HOME/usr/lib/jvm/java-6-openjdk

从Ubuntu 10.0.4升级到12.0.4我们搞错了脚步。 我们有一个JDK安装配置(自动配置?)指向/ usr / lib / jvm / java-6-openjdk这个不再包含一个JDK,更改为/ usr / lib / jvm / default-java固定,并且应该进行无缝的java-7升级。

所以在回答这个问题时:不要在Ubuntu上指定JAVA_HOME。

在Ubuntu 12.04中,我不得不安装openjdk-7-jdk

那么javac正在工作!

那么我可以使用

/usr/lib/jvm/java-7-openjdk-amd64

路径和jenkins不再抱怨了。

http://pkg.jenkins-ci.org/redhat/下载软件包rpm包,你可以给出更多的java位置,比如我的系统中有默认的1.7 java,但是我使用的是/opt/jdk1.8.0_60/bin/java詹金斯。 打开jenkins启动脚本/etc/init.d/jenkins并在这里添加额外的java,我在这里添加/opt/jdk1.8.0_60/bin/java,

搜索可用的Java作为/ usr / bin / java可能不会指向Jenkins所需的最小版本。

请参阅http://www.nabble.com/guinea-pigs-wanted—–Hudson-RPM-for-RedHat-Linux-td25673707.html

candidates =“/opt/jdk1.8.0_60/bin/java

我看到Eclipse>首选项>已安装的JRE> JRE定义我找到了java_home的目录,所以它是/Library/Java/JavaVirtualMachines/jdk1.7.0_17.jdk/Contents/Home