2013-07-05 80 views
0

我是新來編寫ant腳本。我有一些代碼在Java 1.4中,當我編譯以下ant腳本螞蟻javac編譯引發異常

<target depends="init" name="javacompile"> 
    <javac srcdir="${src}" destdir="${dest}" source="1.4" target="1.4"/> 
</target> 

我正在一個 不受支持的版本MAJOR.MINOR 49.0例外。

java.lang.UnsupportedClassVersionError錯誤:COM /陽光/工具/ javac的/主(不支持MAJOR.MINOR版本49.0)

+0

你運行的是什麼版本的 – Satya

+0

我在eclipse中運行在Java 1.4中。問題解決了,腳本使用了websphere5.java中的java。謝謝。 – guitarist

+0

升級警告:Java 8正在放棄對Java 1.5及更早版本的支持...... http://openjdk.java.net/jeps/182 –

回答

0

錯誤是說,你的Ant腳本需要Java 1.4,但你運行JDK 5.0 :

這些映射,以主/次編號:

http://en.wikipedia.org/wiki/Java_class_file

J2SE 8 = 52 (0x34 hex),, 
J2SE 7 = 51 (0x33 hex), 
J2SE 6.0 = 50 (0x32 hex), 
J2SE 5.0 = 49 (0x31 hex), 
JDK 1.4 = 48 (0x30 hex), 
JDK 1.3 = 47 (0x2F hex), 
JDK 1.2 = 46 (0x2E hex), 
JDK 1.1 = 45 (0x2D hex). 

建議:

刪除source =「1.4」target =「1.4」限定符(如果可能)。

+0

在刪除source =「1.4」target =「1.4」限定符後,我也得到同樣的錯誤。我使用eclipse來運行螞蟻。我已經將project-> properties Java編譯器中的編譯器設置設置爲1.4,並且構建路徑也有1.4庫。是否有其他設置需要完成? – guitarist

+0

它聽起來像你有Java 1.5。如果你可以允許默認的Java版本(而不是試圖強制1.4版本),生活會很好。請記住:較新的JRE運行時與舊的類文件/ jar文件向後兼容。如果你不能這樣做,那麼你必須在你的構建和運行時路徑中指定一個VALID INSTALLED JRE,並且你必須在「ant」中使用相同的目標標誌以及所有的Eclipse設置。也看看這裏:http://stackoverflow.com/questions/7073485/why-is-ant-giving-me-a-unsupported-major-minor-version-error – paulsm4

+0

謝謝。我使用websphere5,ant腳本使用websphere文件夾中的java lib [Java 5.0版]。我已指出它回到1.4。現在它可以工作。謝謝。 – guitarist