我需要使用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。
发布于 2009-09-28 16:29:10
使用"target“属性并删除”编译器“属性。参见here。所以它应该是这样的:
<target name="compile">
<javac target="1.5" srcdir=.../>
</target>
希望这能有所帮助
发布于 2013-05-25 03:28:50
应同时指定源和目标。我建议您提供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。
发布于 2009-09-28 16:38:16
要在我使用的类文件中找到java的版本:
javap -verbose <classname>
,它在开始时将版本声明为
minor version: 0
major version: 49
它对应于Java 1.5
https://stackoverflow.com/questions/1487978
复制相似问题