这几天自己一直在琢磨使用java 读取dll 文件(java 动态读取动态链接库库),在网上搜索了一些资料,和示例代码,按照要求去的时候,在用javah 命令的时候,总是提示下面的错误: C:\aaa>javah -classpath aaa -jni javacall
错误: 无法访问 javacall
找不到文件 javacall.class
javadoc: 错误 - 找不到类 javacall。
Error: 未在命令行中指定任何类。请尝试使用 -help。
或者是:
C:\aaa>javah -名classpath. javacall
Error: -classpath. 是非法参数
然后看见网上有很多人也遇到这样的问题,帮助解决的人,也很多,可是我即使按照帮助提供的解决方式还是不行,后来,经过再三努力,终于发现问题原因所在,原来别人提示:
在编译生成class文件后,要在包的上一级目录下,执行命令:javah -classpath . -jni packagename.classname
比如,我现在是在测试,那我随便写了个java测试文件在c :\aaa目录下
好的,我把我的正确执行命令的 语句粘出来:
首先编译C:\aaa>javac javacall.java
C:\>javah -classpath aaa -jni javacall
生成的 .h 文件位置在: c:\
我耽误时间也就是在”在编译生成class文件后,要在包的上一级目录下,执行命令:javah -classpath . -jni packagename.classname ” 上,网上给的都没有强调这个点,我写出来,一个是给自己以后的提醒,我害怕自己长时间如果不用的话,会忘记,另一个是希望能对网络上的朋友有所帮助,当然,你如果没有遇到我这样的问题,或者说明你比我厉害,或者说,你很幸运。