![](/img/trans.png)
[英]How do I change the Java version of my “installed project facet” in Eclipse?
[英]How do I convert my Eclipse project to an earlier Java version?
我在 Eclipse 中有一個項目,它以前使用 JRE7 並引用了 JRE7 系統庫。 我現在絕對需要它在 JRE6 中運行。 我沒有使用任何 Java 7 特定語法,因此源代碼本身是完全兼容的。 這是我已經做過的事情:
在最后一步之后,對話框的頂部會立即顯示一條消息:
JRE 與 project.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 中運行。 所以大概我需要以某種方式重新編譯源代碼中的所有 the.class 文件。 我認為 Eclipse 會自動執行此操作。 有任何想法嗎?
首先,清理你的項目:
項目 > 清潔
如果那不能解決問題...
其次檢查您的項目特定的 java 編譯器:
項目 > 屬性 > Java 編譯器
Colin 提供的第二種方法對我有用。
以下是該方法所有步驟的直觀表示:
我認為 Eclipse 會自動執行此操作。 有任何想法嗎?
除非您要求 Eclipse 這樣做,否則 Eclipse 不會清理所有項目。 它只會清除您修改過的源代碼生成的類文件。 您應該徹底構建您的解決方案,重建所有內容並再次運行,它應該可以正常工作。
我遇到過清理項目並不能解決問題的案例。 實際上,我必須關閉並重新打開特定項目才能使其正常工作。
更改項目->屬性->Java 編譯器->編譯器合規級別
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.