首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么Jenkins的启动脚本在Java 11 (Ubuntu)下会失败?

为什么Jenkins的启动脚本在Java 11 (Ubuntu)下会失败?
EN

Stack Overflow用户
提问于 2018-11-15 22:50:14
回答 3查看 1K关注 0票数 2

我试图从Java 8迁移到11,但Jenkins不能在11下运行。每周的实验版本说他们可以使用java 10,所以我想,我会帮助他们测试这一点。

所以我升级到了jenkins_2.151_all.deb (在我的ubuntu机器上),但现在我一直收到这个错误消息:

代码语言:javascript
复制
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的安装位置。我得到了:

代码语言:javascript
复制
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。

不确定下一步要尝试什么

EN

回答 3

Stack Overflow用户

发布于 2019-04-25 06:22:25

sudo update-alternatives -config java select java 8 enter selection no例如。2然后启动jenkins,如果已经

票数 1
EN

Stack Overflow用户

发布于 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行,将其更改为:

代码语言:javascript
复制
JAVA_VERSION=$($JAVA -version 2>&1 | sed -n ';s/.* version "\([0-9]*\)\.\([0-9]*\)\..*".*/\1\2/p;')

参考:https://github.com/jenkinsci/packaging/pull/198

票数 1
EN

Stack Overflow用户

发布于 2019-07-26 21:14:42

更新

2.175 (在2019-04-28上发布)开始,官方的Jenkins changelog声明:

使Debian/Ubuntu启动器脚本与Java11兼容。(issue 57096)

因此,在J11环境中启动/运行Jenkins应该使用Jenkins version 2.175或更高版本进行修复。你可以试一试。

希望能有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53322059

复制
相关文章

相似问题

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