使用 java 8 和 ant 为 java 6 目标生成 jar

Generate jar for java 6 target using java 8 with ant

我正在使用 java 8 和 ant 为我编写的库生成 jar 文件。项目中没有使用 lambda,我想生成一个与 java 6.

兼容的 jar

我在构建文件中编辑了以下行

<property name="target" value="1.8"/>
<property name="source" value="1.8"/>

将其替换为

<property name="target" value="1.6"/>
<property name="source" value="1.6"/>

重建并生成 jar。它会发出警告,告诉 warning: [options] bootstrap class path not set in conjunction with -source 1.6

这是使用 java 8 生成兼容 jar 的正确方法吗?我很好奇这究竟是如何工作的。

可以忽略该警告。它警告您,即使在为 Java 1.6.

编译时,您也可能会意外使用 Java 1.8 API

要针对 Java 1.6 API 进行编译(获得更多的兼容性保证),您还有一些工作要做。参见: