初用java和jni使用,很多地方出现错误,最恶心的错误就是:
A fatal error has been detected by the Java Runtime Environment.....
或者是提示:
find java class error!
这是因为c++程序没有找到需要调用的java class文件。
如果使用jni找不到java类的时候,一般问题出现在以下方面:
(1)jclass cls = env->FindClass("tdb/queryTDB"); //设置java类路径,tdb文件夹下的queryTDB.class,注意类不要加.class
(2)java文件中package有没有指定:package tdb;,如果指定了java文件中的路径是否都是加上了package的路径:String directory = "./tdb/CompProfileOntologyTDB";
(3)还需要别的jar包,但没有在options(jvm启动参数)中设置!
下面主要介绍的是问题1和问题2,这两类问题一粗心就有可能造成
package用于指定java文件所在的包,如果test.java指定了包:p