在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。
使用“目标”属性并删除“编译器”属性。 看到这里 。 所以它应该是这样的:
<target name="compile"> <javac target="1.5" srcdir=.../> </target>
希望这可以帮助
应指定源和目标。 我build议提供ant默认值 ,这样你不需要为每个javac任务指定source / target属性:
<property name="ant.build.javac.source" value="1.5"/> <property name="ant.build.javac.target" value="1.5"/>
有关更多信息,请参阅Java交叉编译说明 。
在我使用的类文件中查找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/javacprops.html#target