线程“main”中的exceptionjava.lang.UnsupportedClassVersionError:danbikel / parser / Trainer(不支持的major.minor版本50.0)

我正在尝试运行一个用Java构建的解析器,但每次我尝试使用该类时,我都会收到上述错误(“线程中的exception”主“java.lang.UnsupportedClassVersionError:danbikel / parser / Trainer(不支持的主要版本)。次要版本50.0)“)。

根据我的阅读,这可能是用于编译和运行代码的Java版本之间不匹配的问题; 但我确保我的JAVA_HOME环境设置为1.6版本,这是解析器安装指南推荐的版本。

服务器上安装了旧版本的Java,但我对此无能为力。 我还能做些什么来解决这个错误吗?

如果您使用的是Debian派生的发行版(例如Ubuntu),请使用sudo update-alternatives --config java并设置您可能要使用的版本。

除了适当地设置JAVA_HOME (你已经完成),确保你正在执行正确版本的java可执行文件。 例如,在Debian或Ubuntu上,如果/usr/bin/java指向错误的版本,则直接执行/usr/lib/jvm/java-6-openjdk/jre/bin/java

您可以使用-version选项validation您正在使用的启动器的版本。 尝试使用java -version/usr/lib/jvm/java-6-openjdk/jre/bin/java -version查看输出是否有任何不同。

确保将JAVA_HOME设置为特定的Java安装并不一定足够。

如果您有关于服务器和配置环境的更多信息,那将会很有帮助。

如果您想确保使用正确的版本,我会确保您的PATH环境包含${JAVA_HOME}/bin:${PATH}

即使您已将JAVA_HOME设置为1.6,您的java veriosn仍可能仍为1.5

在控制台上键入java -version并查看它打印的版本。

我也遇到了这个问题,我发现自己在.bash_profile中设置了自定义JAVA_HOME值后就解决了这个问题。

我评论了这个,加载了一个新的控制台,现在我的项目构建。

对我来说,这工作:1)安装JRE 7 2)安装JDK 3)转到项目属性> Java编译器。 将编译器合规性级别设置为1.7。一旦按“应用”,它将要求您重建程序。 对于大多数应该这样做的人。 对于其余部分,请在“属性”窗口的底部显示警告部分(标有黄色“!”标记),要求搜索兼容的JRE。 选择配置已安装的JRE或设置环境变量。 完成后,你很高兴!