2

正是标题所说的。

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

4

1 回答 1

4

我不知道有什么方法可以做到这一点。(我使用 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>
于 2013-07-11T14:30:44.800 回答