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

0pizxfdo  于 2023-02-02  发布在  Java
关注(0)|答案(4)|浏览(121)

我在Ubuntu 12.04 64位上安装了eclipse靛蓝(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)

但是,在Eclipse中点击Ant中“play”时,我得到以下消息:

Unsupported major.minor version 51.0

Ant构建输出的“控制台”窗口的页眉标题也是:

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

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

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

但这没有帮助- ant显然仍在使用java-6-openjdk

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

gywdnpxw1#

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

tquggr8v

tquggr8v2#

Ant使用JAVA_HOME,尝试在shell中回显$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

s6fujrry

s6fujrry3#

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

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

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

fgw7neuy

fgw7neuy4#

javac任务中,尝试通过如下设置executable属性来指定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>

相关问题