我们正在从 jdk 1.8 转移到 jdk13。在我们的 build.xml 我们有
<target name="generate-native-headers" depends="compile,resolve" description="Java to Native">
<javah class="com.zimbra.znative.IO" outputfile="${build.dir}/IO.h" classpathref="build.class.path"/>
</target>
但是 java10+ 不再支持 javah 所以我发现我们可以在这里使用 javac "nativeheaderdir" 来实现这一点 - https://ant.apache.org/manual/Tasks/javac.html#nativeheaderdir
所以我尝试将上面的 javah 任务转换为 javac,如下所示
<target name="generate-native-headers" depends="compile,resolve" description="Java to Native">
<javac srcdir="src/java/com/zimbra/znative" nativeHeaderDir="${build.dir}" classpathref="build.class.path" includes="src/java/com/zimbra/znative/IO.java" />
</target>
现在丢失的 javah 错误消失了,但我没有看到在我的构建目录中生成 IO.h 文件。任何人都可以帮助我,如何做到这一点?非常感谢您的帮助,谢谢。
注意:目录 src/java/com/zimbra/znative 有大约 5-6 个 .java 文件。我只提到了 1 个文件的示例。