java.lang.UnsatisfiedLinkError: Unable to load library 'PatentRetrieve': 找不到指定的模块。
at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:194)
at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:283)
at com.sun.jna.Library$Handler.<init>(Library.java:142)
at com.sun.jna.Native.loadLibrary(Native.java:368)
at com.sun.jna.Native.loadLibrary(Native.java:353)
at patent.filter.LoadIndexFilter$PatentRetrieve.<clinit>(LoadIndexFilter.java:23)
at patent.filter.LoadIndexFilter.init(LoadIndexFilter.java:49)
at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:281)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:262)
at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:107)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4746)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5399)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
3 个解决方案
#1
先直接main函数测试调用dll吧。
这个错很有可能是你的dll的依赖库没有
这个错很有可能是你的dll的依赖库没有
#2
使用procexp跟踪他调用的哪个路径,,或者吧dll放到windows目录里。。或者放到path变量里。
#3
原因找到了,一个网友告诉我,DLL中定义的函数 void test();
实际中,是 void _test(); 要加下划线; 果然在JAVA中,不再有出错,
忙了整一天。
实际中,是 void _test(); 要加下划线; 果然在JAVA中,不再有出错,
忙了整一天。
#1
先直接main函数测试调用dll吧。
这个错很有可能是你的dll的依赖库没有
这个错很有可能是你的dll的依赖库没有
#2
使用procexp跟踪他调用的哪个路径,,或者吧dll放到windows目录里。。或者放到path变量里。
#3
原因找到了,一个网友告诉我,DLL中定义的函数 void test();
实际中,是 void _test(); 要加下划线; 果然在JAVA中,不再有出错,
忙了整一天。
实际中,是 void _test(); 要加下划线; 果然在JAVA中,不再有出错,
忙了整一天。