2013-07-05 82 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