Chr*_*son 11 java java-home linkageerror
这是我的Java环境:
~: java -version
java version "11.0.1" 2018-10-16 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.1+13-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.1+13-LTS, mixed mode)
Run Code Online (Sandbox Code Playgroud)
但是,当编译后尝试执行程序时,出现以下错误:
Error: LinkageError occurred while loading main class ClassName
java.lang.UnsupportedClassVersionError: ClassName 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 54.0
Run Code Online (Sandbox Code Playgroud)
我的 PATH 和 JAVA_HOME 变量都指向这个版本的 java。我下载了其他版本,但似乎它们没有在系统中注册:
update-alternatives --display java
java - auto mode
link best version is /usr/lib/jvm/java-11-openjdk-amd64/bin/java
link currently points to /usr/lib/jvm/java-11-openjdk-amd64/bin/java
link java is /usr/bin/java
slave java.1.gz is /usr/share/man/man1/java.1.gz
/usr/lib/jvm/java-11-openjdk-amd64/bin/java - priority 1101
slave java.1.gz: /usr/lib/jvm/java-11-openjdk-amd64/man/man1/java.1.gz
Run Code Online (Sandbox Code Playgroud)
那么为什么编译和执行是不同的版本呢?
小智 6
我在 eclipse 中遇到这个错误:
LinkageError occurred while loading main class com.example.demo.SpringDemo1Application
java.lang.UnsupportedClassVersionError: com/example/demo/SpringDemo1Application has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 60.0
Run Code Online (Sandbox Code Playgroud)
这对我有用。

| 归档时间: |
|
| 查看次数: |
84857 次 |
| 最近记录: |