命令“ javac -h”和“ javah -jni”找不到我指定的文件

问题描述

由于我使用的是JDK 1.8,因此我尝试使用命令javah -jni MyClass.java生成文件(MyClass.h),但是我也尝试使用其他版本的命令javac -h MyClass.java,但是我总是在我的终端中得到以下结果:

enter image description here

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

感谢您的帮助
[edit]我也尝试使用.class文件,但是输出javac -h相同,但与javah -jni相同,我得到以下输出

enter image description here

解决方法

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

样品分类

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

如果需要任何外部依赖项,则编译将Javac与-classpath一起使用。

javac -classpath <path_to_dependency> SimpleJNI.java 

,如果没有依赖性,则不使用-classpath

javac SimpleJNI.java

然后使用.class文件执行javah

javah SimpleJNI