简体   繁体   English

无法在macOs上启动Jenkins - Java 10

[英]Failed to start Jenkins on macOs - Java 10

I'm trying to start Jenkins using: 我正在尝试使用以下方式启动Jenkins:

java -jar jenkins.war

I got this error: 我收到了这个错误:

 java.lang.UnsupportedClassVersionError: 54.0 at Main.main(Main.java:128) 

This problem comes after an update of my development environment, I'd switched to : 在更新我的开发环境之后出现此问题,我切换到:

  • Java 10.0.1+10 Java 10.0.1 + 10
  • Jenkins 2.107.2 詹金斯2.107.2
  • MacOS 10.13.4 MacOS 10.13.4

Based on the error message that you are getting: 根据您收到的错误消息:

  • The JAR / WAR file being loaded was compiled for Java 10 (and later) because the message says that the classfile version is 54. 正在加载的JAR / WAR文件是为Java 10(及更高版本)编译的,因为该消息表明类文件版本为54。
  • The JRE that is actually being used is Java 9 or earlier. 实际使用的JRE是Java 9或更早版本。 If you were using Java 10, it would be happy with version 54. 如果您使用的是Java 10,它会对第54版感到满意。

In other words, despite upgrading your Java to Java 10, you must be using an older version to start Jenkins. 换句话说,尽管将Java升级到Java 10,但您必须使用旧版本来启动Jenkins。

Check the launch script for Jenkins and make sure that it uses the correct JRE installation. 检查Jenkins的启动脚本,确保它使用正确的JRE安装。

If you are launching Jenkins using java -jar jenkins.war , check what java -version tells you ... at the same command prompt. 如果您使用java -jar jenkins.war启动Jenkins,请在同一命令提示符下检查java -version告诉您的内容。

An easier approach could be to download Jenkins WAR for 2.127 (weekly release) or above. 更简单的方法是下载Jenkins WAR for 2.127 (每周发布)或更高版本。 Then one can run the war with the following command: 然后可以使用以下命令运行war:

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

Though note that there are few known issues registered on their tracker : 虽然注意到他们的跟踪器上注册的已知问题很少:

  • Pipeline crashes immediately on Java 10 and 11 ( JENKINS-46602 ) 管道在Java 10和11上立即崩溃( JENKINS-46602
  • There are many warnings about Illegal reflective access during execution ( JENKINS-40689 ) 在执行过程中有很多关于非法反射访问的警告( JENKINS-40689
  • Configuration-as-Code plugin fails to export configurations on Java 10 ( JENKINS-51991 ) Configuration-as-Code插件无法在Java 10上导出配置( JENKINS-51991

Here are the individual tracker for Java 10 compatiblity and one for Java 11 . 以下是Java 10兼容性的单独跟踪器和Java 11的跟踪器。

Source - Jenkins with Java10-11 来源 - Jenkins与Java10-11

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM