2012-07-05 18 views
18

我在Eclipse中有一個項目,它以前使用JRE7並引用了JRE7系統庫。我絕對需要它現在運行在JRE6中。我沒有使用任何Java 7特定的語法,因此源代碼本身完全兼容。這裏是我已經做的:如何將我的Eclipse項目轉換爲較早的Java版本?

  • 我安裝了JDK6。
  • 然後我去了窗口>首選項> Java>已安裝的JRE並將JRE6設置爲默認值。
  • 我配置了我項目的構建路徑以引用JRE6系統庫而不是JRE7。
  • 最後我去運行配置> JRE並將其設置爲在JRE6中運行。

就在那最後一步之後,對話的頂部顯示一個消息,說:1.7

當我運行:

JRE不會與項目的.class文件兼容性兼容這個項目我得到這個錯誤信息:

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會自動執行此操作。有任何想法嗎?

+6

您是否清理過構建目錄? – sergiofbsilva 2012-07-05 18:56:27

+0

同時檢查是否有早期版本的Java。您可能需要更新它或嘗試在計算機上重新安裝該版本。 – Kurty 2012-07-05 19:09:56

回答

35

首先,清理項目:

項目>清潔

如果不解決的事情......

其次檢查項目的具體Java編譯器:

項目>屬性> Java編譯器

+0

我其實已經做了第二步,但是我沒有清理/重建我的項目,而且似乎已經修復了它。非常感謝! – Jonathan 2012-07-05 23:23:22

3

我以爲Eclipse會自動執行此操作。有任何想法嗎?

沒有Eclipse不會清除所有項目,直到您要求它這樣做。它只會清理已修改源的生成類文件。你應該做一個乾淨的解決方案,重建所有內容並重新運行,它應該可以正常工作。

1

我頭一個清理項目並沒有解決問題的案例。我實際上不得不關閉並重新打開特定項目以使其工作。

7

科林提供的第二種方法爲我工作。

下面是該方法的所有步驟的可視化表示:

enter image description here enter image description here enter image description here enter image description here

0

感謝所有。 雖然解決了,但我想添加另一種方法來添加另一種口味。


它可以通過手動編輯文件project_directory/.settings/org.eclipse.jdt.core.prefs項目的偏好,然後刷新Eclipse中的項目來完成。

Change from 1.7 to 1.6

相關問題