在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