1

我正在尝试使用该命令生成头文件(MyClass.h),javah -jni MyClass.java因为我使用的是 JDK 1.8,但我也尝试了该命令的其他版本,javac -h MyClass.java但我总是在终端中得到以下结果:
在此处输入图像描述

我所有的 .java 或 .class 文件都在这个文件夹中。

感谢您的帮助
[编辑] 我也尝试使用 .class 文件,但输出相同,javac -hjavah -jni我得到以下输出:
在此处输入图像描述

4

1 回答 1

1

尝试先编译 SimpleJNI.java,然后执行 javah 命令。

示例类

public class SimpleJNI
{
   public static void someMethod()
   {
      System.out.println("Some method");
   }
}

如果需要任何外部依赖项,则编译使用带有 -classpath 的 javac。

javac -classpath <path_to_dependency> SimpleJNI.java 

如果没有依赖关系,则没有 -classpath

javac SimpleJNI.java

然后用你的 .class 文件执行 javah

javah SimpleJNI
于 2020-10-14T07:28:00.663 回答