7

我正在尝试使用以下方法启动 Jenkins:

java -jar jenkins.war

我收到了这个错误:

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

这个问题是在我的开发环境更新之后出现的,我切换到:

  • Java 10.0.1+10
  • 詹金斯 2.107.2
  • macOS 10.13.4
4

2 回答 2

4

根据您收到的错误消息:

  • 正在加载的 JAR / WAR 文件是为 Java 10(及更高版本)编译的,因为消息说类文件版本是 54。
  • 实际使用的 JRE 是 Java 9 或更早版本。如果您使用的是 Java 10,那么对版本 54 会很满意。

换句话说,尽管将 Java 升级到 Java 10,但您必须使用旧版本来启动 Jenkins。

检查 Jenkins 的启动脚本并确保它使用正确的 JRE 安装。

如果您使用 启动 Jenkins ,请在同一命令提示符处java -jar jenkins.war检查告诉您的内容。java -version

于 2018-05-06T13:53:18.780 回答
2

一种更简单的方法是下载Jenkins WAR 2.127(每周发布)或更高版本。然后可以使用以下命令运行战争:

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

虽然请注意,在他们的跟踪器上注册的已知问题很少:

  • 管道在 Java 10 和 11 上立即崩溃 ( JENKINS-46602 )
  • 执行期间有很多关于非法反射访问的警告(JENKINS-40689
  • Configuration-as-Code 插件无法在 Java 10 上导出配置 ( JENKINS-51991 )

以下是Java 10 兼容性的单个跟踪器和Java 11 的一个跟踪器。

来源-詹金斯与 Java10-11

于 2018-08-29T14:33:15.437 回答