我正在尝试一个示例JNI程序,但我无法获得javah 工具。我在C:\ Workspace \ VideoRecorder \ src \ org \ ccb \ wifo \ video \ Nativejni.java中有1个源文件Nativejni.java。 org.ccb.wifo.video是包的名称。我已经编译并在src目录中获得了一个类文件。为了生成头文件我尝试过如下
C:\Workaspace\VideoRecorder\bin>javah -jni org.ccb.wifo.video.Nativejni
但是我收到了类似的错误。
**error: cannot access org.ccb.wifo.video.Nativejni
class file for org.ccb.wifo.video.Nativejni not found
javadoc: error - Class org.ccb.wifo.video.Nativejni not found.
Error: No classes were specified on the command line. Try -help.**
我已经google了很多,并尝试了那里找到的解决方案。但没用。 请帮帮我。
答案 0 :(得分:0)
可能有很多原因。主要与-classpath有关。如果您不想手动更改类路径,可以在控制台中进行编译时执行此操作。
javah -d /dir/where/output/generated -classpath ;<absolute path to the /bin/classes> <package name>
1)记住“;”很重要,因为它将您提供的路径附加到现有路径上。
2)小心斜杠(Linux = /和Windows =)。
3)我想你明白我的绝对路径是什么意思。
答案 1 :(得分:0)
我浪费了3个小时。它是由于某种java目录问题或者是什么。无论如何这就是我做到的。
打开命令行。转到.java类所在的确切文件夹。去那里执行命令
javac HelloWorld.java
然后返回包含完整包的文件夹。键入此语句用于从类文件生成头文件。该目录必须像我的情况一样,整个包都在Java目录文件中,所以我回到那里并输入以下命令。
javah -jni com.example.aliabbasjaffri.temporary.HelloWorld
Voila,为您服务的头文件。
答案 2 :(得分:0)
你必须输入classpath,请尝试这个,
Javah - jni -classpath C:\Workspace\VideoRecorder\src\ org.ccb.wifo.video.Nativejni