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

我需要使用 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。

147443 次浏览

使用“目标”属性并删除“编译器”属性。参见 给你。所以它应该是这样的:

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

希望这个能帮上忙

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

javap -verbose <classname>

它在开始时以

minor version: 0
major version: 49

相当于 Java 1.5

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

应同时指定源和目标。我建议提供 蚂蚁违约,这样就不需要为每个 javac 任务指定 source/target 属性:

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

有关更多信息,请参见 Java 交叉编译注释