在项目中使用了一个加载公司内部的一个**_DLL.dll文件 ,在程序中是这样写的
public interface ***_SDK extends Library {
static BTC_SDK INSATANCE = (***_SDK) Native.loadLibrary("***_DLL", ***_SDK.class);
/**
* 1.初始化SDK DLL
*
*/
int ***_Init(NET_PARAMS_S sNet);
}
说白了就是项目启动时加载,会报下面的错误
Caused by: java.lang.UnsatisfiedLinkError: Unable to load library '**_DLL': Native library (win32-x86/**_DLL.dll) not found in resource path ([file:/C:/Program%20Files%20(x86)/Java/jdk1.8.0_66/jre/lib/charsets.jar 都是加载的jar省略....太多了)
at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:277) ~[jna-4.2.2.jar:4.2.2 (b0)]
at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:403) ~[jna-4.2.2.jar:4.2.2 (b0)]
at com.sun.jna.Library$Handler.<init>(Library.java:147) ~[jna-4.2.2.jar:4.2.2 (b0)]
at com.sun.jna.Native.loadLibrary(Native.java:502) ~[jna-4.2.2.jar:4.2.2 (b0)]
at com.sun.jna.Native.loadLibrary(Native.java:481) ~[jna-4.2.2.jar:4.2.2 (b0)]
at com.****.base.sdk.device.***_SDK.<clinit>(***_SDK.java:22) ~[classes/:?]
at com.****.base.sdk.service.SDKInitService.statDll(SDKInitService.java:37) ~[classes/:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_66]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_66]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_66]
at java.lang.reflect.Method.invoke(Method.java:497) ~[?:1.8.0_66]
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:366) ~[spring-beans-4.3.11.RELEASE.jar:4.3.11.RELEASE]
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:311) ~[spring-beans-4.3.11.RELEASE.jar:4.3.11.RELEASE]
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:134) ~[spring-beans-4.3.11.RELEASE.jar:4.3.11.RELEASE]
... 18 more
根据提示我自己创建了一个包,就好了
ps:我使用的SDK和JDK包括这个DLL文件都是32位的
剩下就交给Spring boot 自动默认扫描resource下的包,就行了.记得maven clean一下