有一个包含com4j依赖项(内部有dll)的spring boot应用程序
如果我将应用程序打包为WAR,则一切都会按预期进行。如果我将其打包为jar,则无法加载dll:
java.io.FileNotFoundException: C:\<…>\interfaces.jar!\BOOT-INF\lib\com4j-x86.dll (The system cannot find the path specified)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.<init>(Unknown Source)
at java.io.FileOutputStream.<init>(Unknown Source)
at com4j.COM4J.loadNativeLibrary(COM4J.java:578)
at com4j.COM4J.<clinit>(COM4J.java:531)
spring boot加载库是否有特殊要求?
最佳答案
确实,我将其作为已部署在tomcat上的war文件进行了测试,一切正常。
同时,我知道解压缩本地库并将其放入启动jar文件的目录中的解决方法。我想问题出在Spring Boot中,它无法从jar内的jar中加载本机库(希望您理解了这一点)
@eis:我通过javaw -jar interface.jar启动我的jar文件