在ant javac中设置Java的目标版本

时间:2009-09-28 16:23:10

标签: ant javac

我需要使用ant(1.7.0)编译一个jar文件,以在特定版本的Java(1.5)下运行。我目前在我的机器上安装了Java 1.6。我试过设置:

<target name="compile">
  <javac compiler="javac1.5" target="1.5" srcdir=.../>
</target>

我也删除了

<property name="build.compiler" value="modern"/>

并且没有属性文件。我在Linux / SUSE上运行Java 1.6

还有一种简单的方法可以确定jar文件中预期的Java版本。

4 个答案:

答案 0 :(得分:87)

使用“target”属性并删除“compiler”属性。见here。所以它应该是这样的:

<target name="compile">
  <javac target="1.5" srcdir=.../>
</target>

希望这有帮助

答案 1 :(得分:43)

应指定源和目标。我建议提供ant defaults,这样您就不需要为每个javac任务指定源/目标属性:

<property name="ant.build.javac.source" value="1.5"/>
<property name="ant.build.javac.target" value="1.5"/>

有关详细信息,请参阅Java cross-compiling notes

答案 2 :(得分:15)

要在我使用的类文件中找到java的版本:

javap -verbose <classname>

在开始时宣布版本为

minor version: 0
major version: 49

,对应于Java 1.5

答案 3 :(得分:5)

您也可以设置{{ant.build.javac.target=1.5}} ant属性来更新任务的默认目标版本。 见http://ant.apache.org/manual/javacprops.html#target