春季启动罐包装和com4j

时间:2016-09-14 15:20:03

标签: java spring spring-boot native

有一个包含com4j依赖项的Spring启动应用程序(里面有一个dll)

如果我将应用程序打包为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)

春季启动是否需要特殊的东西加载库?

1 个答案:

答案 0 :(得分:0)

确切地说,我在tomcat上测试它作为已部署的war文件,一切都按预期工作。

Meanwile我知道解压缩本机库并将它们放到我启动jar文件的同一目录中的解决方法。我想问题是在spring boot中,它无法从jar中的jar中加载本机库(希望你理解这一点)

@eis:我通过javaw -jar interface.jar

启动我的jar文件