我在Eclipse中有一个项目,该项目以前使用过JRE7,并引用了JRE7系统库。我绝对需要它现在可以在JRE6中运行。我没有使用任何Java 7特定语法,因此源代码本身是完全兼容的。这是我已经完成的工作:
JRE与项目.class文件不兼容:1.7
并且当我运行项目时,我收到此错误消息:
java.lang.UnsupportedClassVersionError: ExampleProcessingApp : Unsupported major.minor version 51.0 at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:634) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:277) at java.net.URLClassLoader.access$000(URLClassLoader.java:73) at java.net.URLClassLoader$1.run(URLClassLoader.java:212) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:205) at java.lang.ClassLoader.loadClass(ClassLoader.java:321) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294) at java.lang.ClassLoader.loadClass(ClassLoader.java:314) at sun.applet.AppletClassLoader.loadClass(AppletClassLoader.java:146) at java.lang.ClassLoader.loadClass(ClassLoader.java:266) at sun.applet.AppletClassLoader.loadCode(AppletClassLoader.java:608) at sun.applet.AppletPanel.createApplet(AppletPanel.java:798) at sun.applet.AppletPanel.runLoader(AppletPanel.java:727) at sun.applet.AppletPanel.run(AppletPanel.java:380) at java.lang.Thread.run(Thread.java:679)
正如我之前提到的,该项目的实际代码与Java 6语法没有什么不同,因此它将在JRE6中运行。因此,大概我需要以某种方式重新编译源代码中的所有.class文件。我以为Eclipse会自动执行此操作。有什么想法吗?
如果那不能解决问题...
再次检查您的项目特定的Java编译器:
项目>属性> Java编译器
<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9FR0x2ai5wbmcifQ==” alt =“在此处输入图像描述”>
除非您要求Eclipse,否则它不会清除所有项目。它仅清除已修改源的生成的类文件。您应该彻底构建解决方案,重新构建所有内容,然后再次运行,它应该可以正常工作。