使javah在生成JNI头时忽略内部类



这正是标题所说的。

我有一个类,它声明了某些native方法,但也有几个内部类。javah实用程序坚持为内部类生成单独的头,即使它们没有任何native方法声明。有没有办法强制javah停止这样做(注释、秘密命令行开关等等)?

我不知道该怎么做。(我使用Oracle JDK。)

我理解这种烦恼,但问题仅限于不必要的文件及其不必要的重新生成(外部类的更改导致为内部类重写无用的头文件)。

为了解决这个问题,我只删除了所有空的头文件。我使用Ant,因为它在Eclipse中是一个通用的项目构建步骤。

<?xml version="1.0" encoding="UTF-8"?>
<project name="javah">
    <mkdir dir="javah" />
    <javah classpath="bin" destdir="javah">
        <!-- list classes here -->
        <class name="com.example.Outer" />
        <class name="com.example.OuterWithNatives" />
    </javah>
    <delete>
        <fileset dir="javah">
            <not>
                <contains text="JNIEXPORT" />
            </not>
        </fileset>
    </delete>
</project>

最新更新