我正在尝试使用eclipse从java文件生成本机使用的头文件(c / c ++)。 从命令行我只能在这个位置时到达javah:
C:\Program Files (x86)\Java\jdk1.7.0_51\bin>
但我不能像这样引用我的java类:
C:\Program Files (x86)\Java\jdk1.7.0_51\bin>javah -jni com.or.jnihelloworld.nativeclass
因为该文件夹位于此文件夹之外:
C:\Users\Or Azran\workspace\JniHelloWorld\src\NativeLib.java
我希望将此文件放入以下的jni文件夹中:
C:\Users\Or Azran\workspace\JniHelloWorld\jni
我怎样才能从命令行执行此操作? 一个好的小伙伴也很棒
答案 0 :(得分:3)
这里似乎有几个问题需要解决。
首先。我不确定您的源代码是否设置正确。如果你的类确实是com.or.jnihelloworld.nativeclass那么它应该在目录中:C:\ Users \或Azran \ workspace \ JniHelloWorld \ src \ com \或\ jnihelloworld \ nativeclass.java
但是,假设类/目录是正确的。 javah命令使用-d指定输出目录,您可以使用-classpath指定路径
javah -classpath "C:\Users\Or Azran\workspace\JniHelloWorld\src\" \
-d "C:\Users\Or Azran\workspace\JniHelloWorld\jni" com.or.jnihelloworld.nativeclass
应该将文件放在您想要的位置。
答案 1 :(得分:1)
您的PATH不包含JDK的bin目录。