说细点,此方法不可以 public static void main(String[] args) { NetCarID netCarID1 = new NetCarID(); Runtime.getRuntime().loadLibrary("GetMac"); } 调用出错: java.lang.UnsatisfiedLinkError: no GetMac in java.library.path at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1403) at java.lang.Runtime.loadLibrary0(Runtime.java:788) at java.lang.Runtime.loadLibrary(Runtime.java:776) at netcardmac.NetCarID.main(NetCarID.java:10)
NetCarID netCarID1 = new NetCarID();
Runtime.getRuntime().loadLibrary("GetMac");
}
调用出错:
java.lang.UnsatisfiedLinkError: no GetMac in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1403)
at java.lang.Runtime.loadLibrary0(Runtime.java:788)
at java.lang.Runtime.loadLibrary(Runtime.java:776)
at netcardmac.NetCarID.main(NetCarID.java:10)
但jni只支持c,所以还得用c包装这个dll(或者Com)。首先用native定义函数,
然后用javah编译,产生.h头文件。
完成.h文件规定的接口实现。
编译生成dll。
java做LoadLibary(),就可以调用这个native方法了。