我正在尝试使用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变量有什么区别?


当前回答

基于此。。。

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。

其他回答

在我的案例中,问题出现在服务器运行时配置中:

检查JRE是否为所需版本:

该项目的版本为1.7,服务器JRE设置为1.6,在更改为正确的java版本后,它很好地启动了。

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

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

我也遇到过同样的情况,但以上任何提示都无济于事:)在我们的环境中,tomcat作为Windows上的服务运行。我们安装了Java 1.7并在此版本上设置了Java_HOME。当然,源代码是基于Java1.7构建的。尽管如此,tomcat表示它使用了以前版本的JVM。经过深入分析后,Windows上安装的Tomcat服务仍然保持JAVA_HOME的旧值指向JAVA 1.6。安装新的Tomcat服务后,所有问题都得到了解决。因此,结论是:当您更改java版本并将tomcat作为服务运行时,必须重新安装tomcat服务。

我在Mac上也遇到过类似的情况,以下过程对我有效:

在终端中,键入

vi ~/.profile

然后在文件中添加此行,并保存

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk<version>.jdk/Contents/Home

其中版本是计算机上的版本,例如1.7.0_25。

退出编辑器,然后键入以下命令使其生效

source ~/.profile 

然后键入java-version以检查结果

java -version 

什么是.profile文件?

.profile文件是隐藏文件。这是一个可选文件,告诉系统当其配置文件所在的用户登录时要运行哪些命令。例如,如果我的用户名是bruno,并且/Users/bruno/中有一个.profile文件,则其所有内容都将在登录过程中执行。

资料来源:http://computers.tutsplus.com/tutorials/speed-up-your-terminal-workflow-with-command-aliases-and-profile--mac-30515

我也遇到过同样的问题,我在Linux中解决了这个问题。

检查您的$JAVA_HOME

需要JDK 1.8来编译/构建APK

安装Java JDK 1.8并更改Java_HOME

编辑~/.bashrc并将JDK 1.8路径添加为JAVA_HOME。

导出JAVA_HOME=/usr/lib/jvm/JAVA-8-oracle/jre/

和source~/.bashrc

关闭当前终端窗口/选项卡并运行$JAVA_HOME检查路径。