我正在尝试运行一个用Java构建的解析器,但每次我尝试使用该类时,都会出现上述错误(“线程中的异常”主“java.lang.UnsupportedClassVersionError:danbikel / parser / Trainer(不支持的major.minor版本50.0)“)。
从我读过的内容来看,这可能是用于编译和运行代码的Java版本之间不匹配的问题;但我确保我的JAVA_HOME环境设置为1.6版本,这是解析器安装指南推荐的版本。
服务器上安装了旧版本的Java,但我对此无能为力。我还能做些什么来解决这个错误吗?
答案 0 :(得分:8)
如果您使用的是Debian派生的发行版(例如Ubuntu),请使用sudo update-alternatives --config java
并设置您可能要使用的版本。
答案 1 :(得分:5)
除了正确设置JAVA_HOME
(您已经完成)之外,请确保您正在执行java
可执行文件的正确版本。例如,在Debian或Ubuntu上,如果/usr/lib/jvm/java-6-openjdk/jre/bin/java
指向错误的版本,则直接执行/usr/bin/java
。
您可以使用-version
选项验证您正在使用的启动器的版本。尝试java -version
和/usr/lib/jvm/java-6-openjdk/jre/bin/java -version
,看看输出是否有所不同。
答案 2 :(得分:4)
确保将JAVA_HOME
设置为特定的Java安装并不一定。
如果您有关于服务器和配置环境的更多信息,那将会很有帮助。
如果您想确保使用正确的版本,我会确保您的PATH
环境包含${JAVA_HOME}/bin:${PATH}
。
答案 3 :(得分:3)
即使您已将JAVA_HOME设置为1.6,您的Java版本仍可能是1.5
在控制台上输入java -version
,查看它打印的版本。
答案 4 :(得分:0)
我也遇到了这个问题,我发现自己在.bash_profile中设置了自定义的JAVA_HOME值后就解决了这个问题。
我对此进行了评论,加载了一个新的控制台,现在我的项目正在构建。
答案 5 :(得分:0)
对我而言,这有效: 1)安装JRE 7 2)安装JDK 3)转到项目属性> Java编译器。将编译器合规性级别设置为1.7。一旦按“应用”,它将要求您重建程序。对于大多数应该这样做的人。 对于其余部分,请在“属性”窗口的底部显示警告部分(标有黄色“!”标记),要求搜索兼容的JRE。 选择配置已安装的JRE或设置环境变量。一旦完成,你就可以去了!