在jbuilderX下面怎么使用jni(java native interface),部分代码如下:
 public class TJNI {
       private boolean isDllLoaded = false;
  public boolean getIsDllLoaded() {
  return isDllLoaded;
  }  static {
  System.loadLibrary("TJNI");
  }  public TJNI() {
int result = transInit();
                if ( result == 0) {
  isDllLoaded = true;
  } else {
  isDllLoaded = false;
  }
  }
  public native int transInit();
  public static void main(String []args)
{
TJNI tJni = new TJNI();
if( tJni.getIsDllLoaded() ) {
System.out.println("Dll Loaded successfully!\n");
transPKGJni.test();
} else {
System.out.println("Failed to load dll");
}
}
}
其中transInit是dll中的函数。在jcreator中我使用了同样的函数,可以通过,因为TJNI.dll可以和TJNI.class放在同一个目录下面,而在jbuilder中,当编译的时候,它只留下了.class文件,而TJNI.class被删除了,于是报错。
javax.servlet.ServletException: Servlet execution threw an exception
java.lang.UnsatisfiedLinkError: no TransPKGJNI in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1491)
at java.lang.Runtime.loadLibrary0(Runtime.java:788)
at java.lang.System.loadLibrary(System.java:834)
希望高手能指点一二。