最近在弄JNI这一块,生成头文件时,遇到了“找不到XXX的类文件”错误
网上关于这个错误的说法很多,但是很少有提到下面的场景
我的环境:eclipse下开发java项目,目录结构:
对应的生成的.class文件路径是G:\workspace\test\bin\com\jyang\test\Test.class
于是,我按照网上很多说法,在项目根目录下执行命令:
javah -classpath \bin -d jni com.jyang.test.Test
结果:
问题解决办法:在src目录下执行javah命令
还是找不到,这是因为此时的classpath不对,需要换成..\bin(bin目录在src的上级目录)
于是,执行命令:
javah -classpath ..\bin -d jni com.jyang.test.Test
成功了!
此时创建的jni目录是在我的src目录下的,如果想要换成在项目根目录下生成jni目录,可以使用命令:
javah -classpath ..\bin -d ..\jni com.jyang.test.Test
最终结果:
好了,至此问题基本解决。
至于为啥需要在package上一级目录(例子中的src目录)下执行javah命令,我需要再研究下
小菜鸟一枚,大神勿喷