Apache ant javah任务不适用于jdk 10 +

问题描述 投票:0回答:1

我们正在从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文件。我只提到了一个文件的示例。

我们正在从jdk 1.8转移到jdk13。在我们的build.xml中,我们有[]

java ant javac java-9 javah
1个回答
0
投票

通过以下更改,我可以创建头文件。但是生成的文件名为“ com_zimbra_znative_IO.h”,应为“ IO.h”

请帮助我,关于如何将文件名保留为“ IO.h”的想法

© www.soinside.com 2019 - 2024. All rights reserved.