java - SEVERE : Running with Java class version 53. 0,但 52.0 是必需的错误,Jenkins 通过命令提示符显示为 "java -jar jenkins.war"

标签 java jenkins

我是自动化工程师,我已经使用 Maven 在 Jenkins 上部署了我的构建,我想在执行脚本时打开浏览器。我搜索了它,有些人说我是我,当我试图通过命令提示符运行 Jenkins 时,通过 cmd 提示符运行 Jenkins war 文件:

java -jar Jenkins.war 

然后系统产生如下错误:

SEVERE: Running with Java class version 53.0, but 52.0 is required error

有人知道我该如何解决这个问题吗?

enter image description here

最佳答案

这个错误信息...

SEVERE: Running with Java class version 53.0, but 52.0 is required.

...表示您已尝试在使用 java 类版本 53.0 的系统上初始化 Jenkins,它代表 Java 9 .

根据关于 Java requirementsJenkins 文档提到了以下内容:

  • Java 8唯一受支持的运行时环境,支持 32 位和 64 位版本。
  • 不支持旧版本的 Java。
  • Java 9 不受支持。
  • Java 10Java 11 预览支持可用。
  • 可通过自定义包支持这些版本
  • > Running Jenkins with Java 10 and 11 (experimental support)页面提供了有关使用这些版本运行 Jenkins 的指南。
  • 这些要求适用于 Jenkins 系统的所有组件,包括 Jenkins master、所有类型的代理、CLI 客户端和其他组件。

解决方案

有以下两种可能的解决方案:

  • 您可以将您的 Jenkins 主机 JRE 降级到 Java 8 版本并启动 Jenkins,如下所示:

    ${JAVA8_HOME}/bin/java -jar jenkins.war
    
  • 您可以将您的 Jenkins 主机 JRE 升级到 Java 10Java 11 版本并启动Jenkins 以及 --enable-future-java 标志如下:

    ${JAVA10_HOME}/bin/java -jar jenkins.war --enable-future-java
    

运行 Jenkins(没有 Docker)

Java 10

  • 下载 2.127 或更高版本的 Jenkins WAR(或构建 experimental branch)
  • 使用以下命令运行 Jenkins WAR 文件:

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

Java 11

  • 下载 2.127 或更高版本的 Jenkins WAR(或构建 experimental branch)
  • 将以下库下载到与 jenkins.war 相同的目录
  • 使用以下命令运行 Jenkins WAR 文件:

    ${JAVA11_HOME}/bin/java \
        -p jaxb-api.jar:javax.activation.jar --add-modules java.xml.bind,java.activation \
        -cp jaxb-core.jar:jaxb-impl.jar \
        -jar jenkins.war --enable-future-java --httpPort=8080 --prefix=/jenkins
    

琐事

根据 Java class file - Wikipedia以下是正在使用的类文件格式的主要版本号:

Java SE 11 = 55
Java SE 10 = 54
Java SE 9 = 53
Java SE 8 = 52
Java SE 7 = 51
Java SE 6.0 = 50
Java SE 5.0 = 49
JDK 1.4 = 48
JDK 1.3 = 47
JDK 1.2 = 46
JDK 1.1 = 45

关于java - SEVERE : Running with Java class version 53. 0,但 52.0 是必需的错误,Jenkins 通过命令提示符显示为 "java -jar jenkins.war",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52516868/

相关文章:

python - 无需 root 权限即可在 Python 中 Ping 服务器

java - 如何在 Java 中检查字符串是否为日期时间格式

java - 如何使用 XML-RPC 从单个类别中获取 WordPress 帖子

java - JPA后台缓存刷新

linux - 在用户下的 Linux 上运行 Jenkins 作业

hudson - 批量禁用 Jenkins 工作

jenkins - Jenkins 管道函数 fileExist 可以处理通配符吗?

java - 使用 JenkinsRule 类构建 Jenkins 插件测试

java - 为什么在这种情况下使用 BufferedReader?

java - 在 Java 中创建一个用零归档的 int 数组