[英]Why won't Eclipse compile my code in java 1.5?
我已經安裝了Eclipse 3.5.2和Java 6的JDK。
這是我在Eclipse中安裝的JRE
替代文字http://img806.imageshack.us/img806/3345/eclipsejres.jpg
我正在嘗試使用ant構建文件進行編譯,該文件的一部分如下所示,並指定了Java 1.5:
<target name="compile" depends="build-common, init" description="Compile files. ">
<javac srcdir="${src_dir}" destdir="${build_dir}" debug="true" target="1.5" source="1.5">
<classpath path="${tomcat_home}/lib/servlet-api.jar;${tomcat_home}/lib/log4j-1.2.15.jar;/usr/local/lib/portlet-api-1.0.jar;." />
</javac>
</target>
但是,當我嘗試編譯時,控制台窗口顯示以下錯誤:
compile:
[javac] Compiling 1 source file to H:\jephperro\portlets\build
[javac] javac: invalid target release: 1.5
[javac] Usage: javac <options> <source files>
[javac] where possible options include:
[javac] -g Generate all debugging info
[javac] -g:none Generate no debugging info
[javac] -g:{lines,vars,source} Generate only some debugging info
[javac] -nowarn Generate no warnings
[javac] -verbose ....
BUILD FAILED
H:\jephperro\portlets\CourseList-build.xml:25: Compile failed; see the compiler error output for details.
Total time: 531 milliseconds
我的Eclipse有什么問題?
有關詳細信息,請參見編譯器錯誤輸出。
您可能依賴於使用比1.5 JDK更高的Java版本編譯的庫。
實際上,您的1.5 JDK在哪里?
我所看到的只是一個JRE。
我的猜測是,您只需要
下載1.5版JDK並將其添加到Eclipse中即可。
您可以在運行與java -version
等效的ant的構建文件中創建一個任務,以便您了解由Eclipse啟動的ant使用的Java編譯器。
提示:您的默認JRE是1.6 JRE。 這對於運行代碼很好,但對於編譯則不行。 只有JDK包含外部編譯所需的魔術(例如,由ant完成)。 Eclipse通過在其自己的代碼中包含一個增量Java編譯器來解決此問題(更神奇)。
多年之后,我仍然不完全了解Eclipse,ant和JDK是如何互操作的,所以也許您需要做一些試驗。
運行Ant文件時,AFAIR Eclipse不會使用其自己的內部Java編譯器。 檢查您的本地路徑,並嘗試找出Ant調用了哪個javac。
“ javac:無效的目標版本:1.5”編譯錯誤通常是由源/二進制級別不兼容引起的。 這意味着您正在嘗試使用JDK 1.4或更低版本編譯JDK 5的源代碼級別。
Eclipse使用內置的Java編譯器。 編譯器實際遵循的級別取決於項目設置。 您可以配置每個項目的Java級別,也可以將其設置為全局級別的默認Java級別。
從菜單欄中,選擇窗口->首選項。 選擇Java-> Compiler首選項。 將編譯器符合級別設置為5.0。
正如Saifuddin和其他人提到的那樣,此錯誤很可能是由於未針對所需版本使用正確的Java編譯器而引起的。 我注意到在您安裝的JRE中,DevsuiteHome_1中有一個JDK,沒有說什么版本。 也許螞蟻正在使用那個?
這很容易檢查。 您正在Eclipse中運行ant。 Ant具有其自己的配置設置,該配置設置可能不同於您的工作空間。 要檢查Ant運行時正在使用的版本,請按照以下步驟操作:
運行->外部工具->外部工具配置->單擊您的ant構建文件(如果您已經運行過一次,則應創建它;如果沒有,則可以始終在此處創建它)->選擇JRE選項卡->驗證運行時使用
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.