不支持的 major.minor 版本 52.0 和 Java RMI;Ubuntu 上的 java/javac 1.8



注意:这个问题不是重复的!它更多的是关于RMI而不是关于UnsupportedClassVersionError

我在尝试运行 RMI 代码时收到不支持的类版本错误。我的所有其他代码运行良好,但我正在尝试遵循 RMI 教程,并且代码无法运行。我正在运行Linux Mint 17.1 Rebecca,我没有使用任何IDE。我还通过命令行在本地机器上编译和运行所有代码,因此毫无疑问我使用的是哪个版本的java/javac。

java 版本的输出:

openjdk version "1.8.0_72-internal"
OpenJDK Runtime Environment (build 1.8.0_72-internal-b15)
OpenJDK 64-Bit Server VM (build 25.72-b15, mixed mode)

javac 版本的输出:

javac 1.8.0_72-internal

我知道这个问题有很多重复项,但是看到我所有其他代码运行良好,并且java和javac是相同的版本,是否有任何理由特别是RMI代码(所有教程恰好都是古老的)可能导致此错误?我遵循了本教程:Java RMI

溶液:

我通过将问题缩小到教程中对 rebind() 的调用以及来自另一个答案的提示来解决这个问题。我不得不跑

sudo update-alternatives --config rmiregistry

为了正确设置版本,就像我之前对 Java 和 javac 所做的那样。这就解释了为什么我所有其他代码都运行正常,但 RMI 没有。

我会说运行远程方法的JDK/JRE在Java 7上运行。

相关内容

最新更新