我正在尝试使用Notepad++作为我的多功能工具编辑、运行、编译等。

我安装了JRE,并将路径变量设置为/bin目录。

当我在Notepad++中运行“Hello world”时,我收到以下消息:

java.lang.UnsupportedClassVersionError: test_hello_world :
 Unsupported major.minor version 51.0
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClassCond(Unknown Source)
       .........................................

我认为这里的问题在于版本;Java的某些版本可能是旧的或太新的。

如何修复?我应该安装JDK,并将路径变量设置为JDK而不是JRE吗?JRE或JDK中的PATH变量有什么区别?


当前回答

对我来说,我在com/sun/javadoc/Doclet类上遇到了这个错误。经过一番挖掘,我发现我无意中将tools.jar从Java8复制到了Java7文件夹中。

找到Java7的tools.jar并将其放回文件夹解决了我的问题。所以有些事情要尝试。

其他回答

首先,让我们正确掌握一些基本知识。。。

JRE是NetBeans/Eclipse/standalone中的一个组件,它将为您提供库、JVM、Java插件和Java web启动。注意,它不提供编译器或调试器。

JDK是JRE以及编译器和调试器的超集。

因此,当您将默认库作为JRE而不是JDK时,您将很容易导入内容,但它不会编译。

相反,将路径设置为JDK(我使用NetBeans,我使用NetBeans/etc/NetBeans.conf中的NetBeans.coff设置它们并更改路径)。

别担心,我解决了。

这实际上很简单——您需要使用相同的版本安装JRE和JDK。

JRE 6->JDK 6

JRE 7->JDK 7

等等

今天,这个错误消息出现在Ubuntu 12.04.2 LTS(Precise Pangolin)上的Tomcat 7中:

/var/log/tomcat7/localhost.2014-04-08.日志:2014年4月8日上午9:00:55 org.apache.catalina.core.StandardContext过滤器开始严重:启动筛选器支柱2时出现异常java.lang.UnsupportdClassVersionError:controller/ReqAccept:不支持的major.minor版本51.0(无法加载类控制器.ReqAccept)

Struts应用程序是用Java7编译的。

结果是,有人使用“service tomcat[stop/start]”重新启动tomcat 7,

$ps-ef|grep javatomcat7 31783 1 32 20:13?00:00:03/usr/lib/jvm/defaultjava/bin/java。。。$/usr/lib/jvm/defaultjava/bin/java-版本java版本“1.6.0_27”

这会导致“不支持的major.minor版本51.0”错误。

当我们使用“/etc/init.d/tomcat7[stop/start]”重新启动Tomcat 7时,问题得到了解决。

$ps-ef|grep javatomcat7 31886 1 80 20:24?00:00:10/usr/local/java/jdk1.7.0_15/bin/java$/usr/local/java/jdk1.7.0_15/bin/java-版本java版本“1.7.0_15”

在我的案例中,出现问题是因为$Java_HOME和$PATH中的Java版本不同。

echo $JAVA_HOME
/usr/lib/jvm/java-7-openjdk-amd64/jre
echo $PATH
/opt/jdk/jdk1.8.0_151/bin:/usr/lib/jvm/java-7-openjdk-amd64/jre/bin:/usr/local/bin:/usr/bin:/bin

一旦我将它们更新为Java的相同版本,问题就消失了。

export JAVA_HOME=/opt/jdk/jdk1.8.0_151
export PATH=$JAVA_HOME/bin:$PATH

基于此。。。

J2SE 8 = 52
J2SE 7 = 51
J2SE 6.0 = 50
J2SE 5.0 = 49
JDK 1.4 = 48
JDK 1.3 = 47
JDK 1.2 = 46
JDK 1.1 = 45

在Eclipse中,右键单击包资源管理器中的项目:

生成路径->配置生成路径

低于:

Java构建路径->库->添加库->JRE系统库->安装的JRE->搜索。

搜索完成后,通过在可用列表中选择库来添加所需的JRE。