我试图从Java 8迁移到11,但Jenkins不能在11下运行。每周的实验版本说他们可以使用java 10,所以我想,我会帮助他们测试这一点。
所以我升级到了jenkins_2.151_all.deb (在我的ubuntu机器上),但现在我一直收到这个错误消息:
thomas@testbox:~$ systemctl status jenkins.service
● jenkins.service - LSB: Start Jenkins at boot time
Loaded: loaded (/etc/init.d/jenkins; bad; vendor preset: enabled)
Active: failed (Result: exit-code) since Thu 2018-11-15 14:12:46 UTC; 6s ago
Docs: man:systemd-sysv-generator(8)
Process: 8127 ExecStart=/etc/init.d/jenkins start (code=exited, status=1/FAILU
Nov 15 14:12:46 testbox jenkins[8127]: Found an incorrect Java version
Nov 15 14:12:46 testbox jenkins[8127]: Java version found:
Nov 15 14:12:46 testbox jenkins[8127]: java version "11" 2018-09-25
Nov 15 14:12:46 testbox jenkins[8127]: Java(TM) SE Runtime Environment 18.9 (bui
Nov 15 14:12:46 testbox jenkins[8127]: Java HotSpot(TM) 64-Bit Server VM 18.9 (b
Nov 15 14:12:46 testbox jenkins[8127]: Aborting
Nov 15 14:12:46 testbox systemd[1]: jenkins.service: Control process exited, cod
Nov 15 14:12:46 testbox systemd[1]: Failed to start LSB: Start Jenkins at boot t
Nov 15 14:12:46 testbox systemd[1]: jenkins.service: Unit entered failed state.
Nov 15 14:12:46 testbox systemd[1]: jenkins.service: Failed with result 'exit-co所以我按照这里的指示:在最高排名的答案上运行Jenkins fails when running "service start jenkins",并在我的java11上运行,我总是得到同样的错误。
所以我想,去他的吧。我将在我的java8实例下运行jenkins。因此,我更改了上面插入的路径,使其针对/opt/java8运行,这是我的java的安装位置。我得到了:
thomas@testbox:/opt$ systemctl status -l jenkins.service
● jenkins.service - LSB: Start Jenkins at boot time
Loaded: loaded (/etc/init.d/jenkins; bad; vendor preset: enabled)
Active: failed (Result: exit-code) since Thu 2018-11-15 14:15:50 UTC; 1min 3s
Docs: man:systemd-sysv-generator(8)
Process: 8237 ExecStart=/etc/init.d/jenkins start (code=exited, status=1/FAILU
Nov 15 14:15:50 testbox jenkins[8237]: Found an incorrect Java version
Nov 15 14:15:50 testbox jenkins[8237]: Java version found:
Nov 15 14:15:50 testbox jenkins[8237]: java version "1.8.0_101"
Nov 15 14:15:50 testbox jenkins[8237]: Java(TM) SE Runtime Environment (build 1.
Nov 15 14:15:50 testbox jenkins[8237]: Java HotSpot(TM) 64-Bit Server VM (build
Nov 15 14:15:50 testbox jenkins[8237]: Aborting
Nov 15 14:15:50 testbox systemd[1]: jenkins.service: Control process exited, cod
Nov 15 14:15:50 testbox systemd[1]: Failed to start LSB: Start Jenkins at boot t
Nov 15 14:15:50 testbox systemd[1]: jenkins.service: Unit entered failed state.
Nov 15 14:15:50 testbox systemd[1]: jenkins.service: Failed with result 'exit-co所以现在它甚至还在抱怨java 8。
不确定下一步要尝试什么
发布于 2019-04-25 06:22:25
sudo update-alternatives -config java select java 8 enter selection no例如。2然后启动jenkins,如果已经
发布于 2020-11-18 20:51:54
这实际上看起来像是Java版本的/etc/init.d/jenkins测试中的一个问题。
执行systemctl status jenkins.service命令返回了下面提到的消息。
发现错误的Java版本
找到Java版本:
openjdk版本"11.0.9.1“2020-11-04
在/etc/init.d/jenkins文件中,最后一行是将JAVA_VERSION设置为11.09,这与JAVA_ALLOWED_VERSION中的任何内容都不匹配。
要修复它,请更新/etc/init.d/jenkins文件中允许的sed行,将其更改为:
JAVA_VERSION=$($JAVA -version 2>&1 | sed -n ';s/.* version "\([0-9]*\)\.\([0-9]*\)\..*".*/\1\2/p;')发布于 2019-07-26 21:14:42
更新
从2.175 (在2019-04-28上发布)开始,官方的Jenkins changelog声明:
使Debian/Ubuntu启动器脚本与Java11兼容。(issue 57096)
因此,在J11环境中启动/运行Jenkins应该使用Jenkins version 2.175或更高版本进行修复。你可以试一试。
希望能有所帮助。
https://stackoverflow.com/questions/53322059
复制相似问题