Ern*_*oso 20
您的JAVA_HOME变量必须设置为/ usr/lib/jvm/java-6-openjdk,并且它必须可用于启动Jenkins的用户.
来自Kyle Strand的评论:
截至2015年4月(我认为),Jenkins需要Java7.另请注意,如果系统默认值仍为Java 6,则必须将java二进制路径(JAVA)设置为正确的版本.最后,对于想知道这些变量设置在何处的人,它在配置文件中列出了Jenkins上的安装说明网页(例如对于Debian来说是/ etc/default/jenkins).
我面临着同样的问题,对我来说,JAVA_HOME从jdk12降级并不是像答案中所说的合理选择。所以我做了一个反复试验,我什至没有降级版本就让 Jenkins 运行了JAVA_HOME.
$ sudo vi /etc/init.d/jenkins #JAVA=`type -p java`\nRun Code Online (Sandbox Code Playgroud)\n JAVA=`type -p /usr/lib/jdk8/bin/java`\nRun Code Online (Sandbox Code Playgroud)\n$ sudo systemctl daemon-reload$ sudo systemctl start jenkins\n\xe2\x97\x8f jenkins.service - LSB: Start Jenkins at boot time\n Loaded: loaded (/etc/init.d/jenkins; generated)\n Active: active (exited) since Sun 2020-05-31 21:05:30 CEST; 9min ago\n Docs: man:systemd-sysv-generator(8)\n Process: 9055 ExecStart=/etc/init.d/jenkins start (code=exited, status=0/SUCCESS)\nRun Code Online (Sandbox Code Playgroud)\n小智 5
在 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}"
Run Code Online (Sandbox Code Playgroud)
“ jdk1.8.0_111”是最初注册到Jenkins中的Java配置的名称
我只是想为 Windows 机器添加一个解决方案。
症状:Jenkins 服务启动并立即停止。
Jenkins.wrapper.log有一行指示 Java 的错误路径:
- 启动 C:\Program Files\Java\jre1.8.0_141\bin\java -Xrs -Xmx6g -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar "C:\Program Files (x86)\Jenkins\jenkins.war" --httpPort=8080 --webroot="C:\Program Files (x86)\Jenkins\war"
修复:Jenkins 将路径硬编码在jenkins.xml. 将路径更改为新的 Java 位置。
<env name="JENKINS_HOME" value="%BASE%"/>
<!--
if you'd like to run Jenkins with a specific version of Java, specify a full path to java.exe.
The following value assumes that you have java in your PATH.
-->
<executable>C:\Program Files\Java\jre1.8.0_171\bin\java</executable>
<arguments>-Xrs -Xmx256m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar "%BASE%\jenkins.war" --httpPort=8080 --webroot="%BASE%\war"</arguments>
Run Code Online (Sandbox Code Playgroud)
您还可以使用 Windows 环境变量,但我没有成功,而且我认为 Java 安装程序不会更新这些变量,因此您每次都需要手动更新。
<env name="JENKINS_HOME" value="%BASE%"/>
<!--
if you'd like to run Jenkins with a specific version of Java, specify a full path to java.exe.
The following value assumes that you have java in your PATH.
-->
<executable>%JAVA_HOME%\bin\java</executable>
<arguments>-Xrs -Xmx256m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar "%BASE%\jenkins.war" --httpPort=8080 --webroot="%BASE%\war"</arguments>
Run Code Online (Sandbox Code Playgroud)