我在安装了Java jdk(和jre)1.6的Unix机器上通过Eclipse Juno生成了一个ant文件。 在eclipse以外的地方运行ant时,build.xml文件位于该机器上,一切都很顺利。Ant未使用正确的java版本
现在,问题是当我尝试在另一台机器上运行ant时,其中安装了jdk和jre 1.6。 这里是我所得到的,其他的机器,这是运行RedHat 3(不能修改):
> ant -version
Apache Ant version 1.5.2-23 compiled on November 12 2003
> java -version
java version "1.6.0_39"
Java(TM) SE Runtime Environment (build 1.6.0_39-b04)
Java HotSpot(TM) Client VM (build 20.14-b01, mixed mode, sharing)
> javac -version
javac 1.6.0_39
> ls -l `which java`
lrwxrwxrwx 1 root root 26 Feb 13 15:22 /usr/bin/java -> /usr/java/default/bin/java*
> ls -l `which javac`
lrwxrwxrwx 1 root root 27 Feb 13 15:22 /usr/bin/javac -> /usr/java/default/bin/javac*
> ls -l /usr/java
total 8
lrwxrwxrwx 1 root root 16 Nov 7 14:19 default -> /usr/java/latest
drwxr-xr-x 7 root root 4096 Feb 13 15:02 jdk1.6.0_39/
drwxr-xr-x 7 root root 4096 Nov 7 14:18 jre1.6.0_37/
lrwxrwxrwx 1 root root 21 Feb 13 15:03 latest -> /usr/java/jdk1.6.0_39
> echo $JAVA_HOME
/usr/java/jdk1.6.0_39/bin/java
当我在build.xml文件中加入这一行,我得到如下结果
build.xml:
<echo message="Java version: ${ant.java.version}"/>
> ant
[echo] Java version: 1.4
和编译错误:
[javac] ...InputManager.java:11: error: Invalid method declaration, method name required.
[javac] Map<Double, List<MyObject>> loadFile(File pSelectedFile)
[javac] ^
[javac] ...InputManager.java:11: error: Class or interface declaration expected.
[javac] Map<Double, List<MyObject>> loadFile(File pSelectedFile)
[javac] ^
[javac] ...InputManager.java:33: error: Invalid character '@' in input.
[javac] @Override
[javac] ^
...
现在的问题是:是我的Java安装不正确的? 我在做蚂蚁做错了什么?
这里的build.xml文件的快速提取物:
帮助都是欢迎的。