我也出现同样的错误,请大侠们给看看啊!我是已经编译过的类。用java命令执行都可以发现没有找到.dll(我还没写); c:>java testdll Exception in thread "main" java.lang.UnsatisfiedLinkError: no testdll in java.li brary.path at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1410) at java.lang.Runtime.loadLibrary0(Runtime.java:772) at java.lang.System.loadLibrary(System.java:832) at testdll.<clinit>(testdll.java:3)但:javah testdll时,出现 Error: Class testdll could not be found.
我把testdll.java放在bin目录下,生成的testdll.class也在这一目录下!!
这里是源代码:public class testdll { static { System.loadLibrary("testdll"); } public native static int get(); public native static void set(int i); public static void main(String[] args) { testdll test = new testdll(); test.set(10); System.out.println(test.get()); } }
要先生成类文件,在源程序里的类名要和存盘时的*.java文件的名字一样。
鬼兄,偶的类名和存盘的文件名完全一样啊!testdll.java
to millercn(millercn) :用thinkerhj(布恩特)的方法(注意加不加扩展名) to xmtanglyj(xiaoming):javah -classpath . testdll
c:>java testdll
Exception in thread "main" java.lang.UnsatisfiedLinkError: no testdll in java.li
brary.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1410)
at java.lang.Runtime.loadLibrary0(Runtime.java:772)
at java.lang.System.loadLibrary(System.java:832)
at testdll.<clinit>(testdll.java:3)但:javah testdll时,出现
Error: Class testdll could not be found.
static {
System.loadLibrary("testdll");
} public native static int get();
public native static void set(int i);
public static void main(String[] args) {
testdll test = new testdll();
test.set(10);
System.out.println(test.get());
}
}
to xmtanglyj(xiaoming):javah -classpath . testdll