jdk10,jenkins,tomcat,java.xml.bind报错

最近使用jdk10 与 jenkins ,使用 jenkins.war方式运行。此时不管用哪种方式运行war皆会报错,具体错误就不贴出来了,错误的大概意思是没找到java.xml.bind的错误,究其原因是jdk10的模块化特性。此时的 解决办法有两种:
1.官方文档给出的,官方文档地址:https://jenkins.io/blog/2018/06/17/running-jenkins-with-java10-11/
由于我用的时jdk10,所以选择运行jenkins命令是:

${JAVA_HOME}/bin/java --add-modules java.xml.bind -jar jenkins.war \    --enable-future-java --httpPort=8080 --prefix=/jenkins

此命令需要进入你下载的jenkins.war 文件所在的目录运行。${JAVA_HOME} 是你的jdk环境配置名。
这样就解决运行jenkins.war 文件 报错没找到java.xml.bind模块的错误。

2.可以从tomcat入手解决问题。jenkins.war放到tomcat9中,运行tomcat9时出现java.xml.bind。由此我们可以为tomcat9装载java的java.xml.bind 模块,具体解决办法是打开tomcat/bin中的catalina.sh 文件,在文件中加入 JDK_JAVA_OPTIONS="$JDK_JAVA_OPTIONS --add-modules=java.xml.bind"
linux tomcat9中catalina.sh 文件已经有:

JDK_JAVA_OPTIONS="$JDK_JAVA_OPTIONS --add-opens=java.base/java.lang=ALL-UNNAMED"
JDK_JAVA_OPTIONS="$JDK_JAVA_OPTIONS --add-opens=java.base/java.io=ALL-UNNAMED"
JDK_JAVA_OPTIONS="$JDK_JAVA_OPTIONS --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED"

JDK_JAVA_OPTIONS="$JDK_JAVA_OPTIONS --add-modules=java.xml.bind"加入到后面就行了。
若是windows版的tomcat9 ,只需在catalina.bat 添加:

set "JDK_JAVA_OPTIONS=%JDK_JAVA_OPTIONS% --add-modules=java.xml.bind

这样在tomcat中运行jenkins就没问题了。

同理,若是报缺少JDK其他的模块错误,按照以上的方法引入缺少的JDK模块就行了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值