簡體   English   中英

Eclipse為什么不使用Java 1.5編譯我的代碼?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM