我正在尝试使用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变量有什么区别?
最常见的问题是JAVA_HOME变量配置错误,如果您安装了多个,该变量应指向正确的JAVA开发工具包库。
要查找SDK Java文件夹的位置,请运行以下命令:
jrunscript -e 'java.lang.System.out.println(java.lang.System.getProperty("java.home"));'
Debian/Ubuntu
要检查您安装了哪个java(openjdk),请通过以下方式进行检查:
dpkg -l "openjdk*" | grep ^i
or:
update-java-alternatives -l
要更改它,请使用:
update-alternatives --config java
如果需要,请使用sudo作为前缀。
选择另一个java版本。
或检查哪些可供安装:
apt-cache search ^openjdk
如果需要,请使用sudo作为前缀。
然后可以安装,例如:
apt-get install openjdk-7-jre
如果需要,请使用sudo作为前缀。
Fedora、Oracle Linux、Red Hat
通过以下方式安装/升级适当的软件包:
yum install java-1.7.0-openjdk java-1.7.0-openjdk-devel
java-1.7.0-openjdk包仅包含java Runtime Environment。如果您想开发Java程序,请安装Java-1.7.0-openjdk-devel包。
BSD
FreeBSDPorts集合中有一个名为openjdk7的openjdk7包,可能需要重新配置。
请参阅:OpenJDK wiki页面。
窗户
只需从Oracle站点安装适当的Java SE开发工具包库或安装
詹金斯
如果您遇到Jenkins的问题,请参阅:
JENKINS-30561-无法使用SSH启动代理
然而,选择正确版本的Java(更新版本)和更新选项应该是可行的。
由于java9-target被--release替换。
在java11之前,--release的可用数字是6、7、8、9、10、11。你可以猜到未来的版本将是12、13,等等。
要为较旧的目标jvm进行编译,请使用javac-release7Tmp.java//这将生成.class文件,该文件可以在jvm>=7上运行,
然后,您可以通过以下方式检查目标版本:
javap-v Tmp|grep版本
在输出中,主版本标识目标jvm版本。
55->java 1154->java 1053->java 952->java 851->java 750->java 6
未来版本将删除更多旧版本:
从java 11开始,主要版本<=49(java版本<=5)不受支持。截至java 12和13,主要版本<=50(java版本<=6)不受支持。
您可以通过以下命令找到当前javac支持的目标版本:javac-help|grep发布
最常见的问题是JAVA_HOME变量配置错误,如果您安装了多个,该变量应指向正确的JAVA开发工具包库。
要查找SDK Java文件夹的位置,请运行以下命令:
jrunscript -e 'java.lang.System.out.println(java.lang.System.getProperty("java.home"));'
Debian/Ubuntu
要检查您安装了哪个java(openjdk),请通过以下方式进行检查:
dpkg -l "openjdk*" | grep ^i
or:
update-java-alternatives -l
要更改它,请使用:
update-alternatives --config java
如果需要,请使用sudo作为前缀。
选择另一个java版本。
或检查哪些可供安装:
apt-cache search ^openjdk
如果需要,请使用sudo作为前缀。
然后可以安装,例如:
apt-get install openjdk-7-jre
如果需要,请使用sudo作为前缀。
Fedora、Oracle Linux、Red Hat
通过以下方式安装/升级适当的软件包:
yum install java-1.7.0-openjdk java-1.7.0-openjdk-devel
java-1.7.0-openjdk包仅包含java Runtime Environment。如果您想开发Java程序,请安装Java-1.7.0-openjdk-devel包。
BSD
FreeBSDPorts集合中有一个名为openjdk7的openjdk7包,可能需要重新配置。
请参阅:OpenJDK wiki页面。
窗户
只需从Oracle站点安装适当的Java SE开发工具包库或安装
詹金斯
如果您遇到Jenkins的问题,请参阅:
JENKINS-30561-无法使用SSH启动代理
然而,选择正确版本的Java(更新版本)和更新选项应该是可行的。