Ant使用旧的jdk - 如何更改它?

时间:2014-06-09 08:03:10

标签: java eclipse ant

我在Ubuntu 12.04 64位上蚀了indigo(3.7.2),我尝试使用java 1.7编译项目。我认为我已经正确安装了java 1.7,因为我可以运行processing 2.0(使用java 1.7)并获得正确的版本消息:

prokop@prokop-Precision-T1500:~$ java -version
java version "1.7.0_21"
Java(TM) SE Runtime Environment (build 1.7.0_21-b11)
Java HotSpot(TM) 64-Bit Server VM (build 23.21-b01, mixed mode)

然而,当击中" play"在日食中的Ant我得到以下消息:

 Unsupported major.minor version 51.0

也在" Console"的标题标题中ant构建输出的窗口是:

[Ant Build] /usr/lib/jvm/java-6-openjdk/bin/java

我试图修改eclipse的环境设置:

  • 项目>属性> Java编译器到1.7
  • 窗口> prefferences> Java>已将JRE安装到jdk1.7._60,我已将其下载到我的主页/home/prokop/SW/jdk1.7.0_60

但它没有帮助 - 蚂蚁显然仍在使用java-6-openjdk

  • 有没有其他设置怎么说Ant使用jdk1.7?
  • 是否有可能在Ubuntu 12.04 64位上使用java 1.7编译eclipse indigo(3.7.2)?

4 个答案:

答案 0 :(得分:2)

Ant使用JAVA_HOME。在shell中尝试echo $ JAVA_HOME以查看它指向的位置并将其指向jdk 7.

以下手册中的第4点:
http://ant.apache.org/manual/install.html

可以在这里找到很好的解释: https://unix.stackexchange.com/questions/123412/what-is-the-difference-between-java-home-and-update-alternatives

答案 1 :(得分:2)

当您通过eclipse运行ant时会发生这种情况。您可以使用Eclipse中的外部工具配置来设置JDK。查看附件。

External tools configuration in eclipse

答案 2 :(得分:0)

javac任务中,尝试通过设置可执行属性来指定Java编译器,如下所示:

<property name="JDK1.7.dir" location="/usr/lib/jvm/java-7" />
<property name="javac1.7" location="${JDK1.7.dir}/bin/javac" />

<target name="compile-tests">
  <javac executable="${javac1.7}" 
      fork="yes"
      includeantruntime="false" 
      srcdir="${test.dir}"
      destdir="${build.dir}" >
    <classpath refid="class.path" />
  </javac>
</target>

答案 3 :(得分:0)

另一种设置方法是在build.xml中使用:

<project name="xyz" default="all">
<property name="ant.build.javac.target" value="1.7" />
...

此全局参数( ant.build.javac.target )指定要与JDK 7兼容的项目目标。