繁体   English   中英

在运行glassfish 6.2.0的IDEA中输入java.lang.UnsupportedClassVersionError

[英]enter java.lang.UnsupportedClassVersionError in IDEA running glassfish 6.2.0

我正在使用 IDEA 对 JSF 进行一些分配。我只是用 glassfish 运行一个简单的项目,而 output 是这样的:

输出

Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: org/glassfish/admin/cli/AsadminMain has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(Unknown Source)
    at java.security.SecureClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.access$100(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)

google了一下,知道version 52就是jdk 8,于是把其他的jdk都删掉,只留下jdk8,确实是1.8的版本:

java 版本

C:\Users\42173>java -version
java version "1.8.0_291"
Java(TM) SE Runtime Environment (build 1.8.0_291-b10)
Java HotSpot(TM) 64-Bit Server VM (build 25.291-b10, mixed mode)

C:\Users\42173>javac -version
javac 1.8.0_291

但是还是报同样的错误,不知道怎么办。

而且我试过glassfish5,但是output还是报错:

glassfish5 例外

[2021-06-18 11:14:13,323] Artifact untitled1:war exploded: Artifact is being deployed, please wait...
[2021-06-18 11:14:13,818] Artifact untitled1:war exploded: Error during artifact deployment. See server log for details.
[2021-06-18 11:14:13,818] Artifact untitled1:war exploded: java.io.IOException: com.sun.enterprise.admin.remote.RemoteFailureException: Error occurred during deployment: Exception while deploying the app [untitled1_war_exploded] : A MultiException has 4 exceptions.  They are:
1. java.lang.IllegalAccessError: tried to access class sun.security.provider.SunEntries from class com.sun.crypto.provider.SunJCE
2. java.lang.IllegalStateException: Unable to perform operation: post construct on com.sun.enterprise.security.ssl.SSLUtils
3. java.lang.IllegalArgumentException: While attempting to resolve the dependencies of com.sun.enterprise.security.SecurityLifecycle errors were found
4. java.lang.IllegalStateException: Unable to perform operation: resolve on com.sun.enterprise.security.SecurityLifecycle
. Please see server.log for more details.

你得到的错误信息是错误的。

... has been compiled by a more recent version of the Java Runtime (class file version 55.0),
this version of the Java Runtime only recognizes class file versions up to 52.0

它不会告诉您您需要 Java 8 而是 Java 8(类版本52 )太旧而无法运行由版本55 (即 Java 11)编译的类。

所以你需要安装 JDK 11。

暂无
暂无

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

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