Tomcat Web项目中的Java本机库路径

时间:2017-09-27 06:45:43

标签: java tomcat java-native-interface jna nativelibrary

我有一个包含一些本地库的Web项目。其中大部分是由JNA库加载的。

我把它们放在这个文件夹中

WEB-INF\classes\*.dll
ROOT包的

当应用程序启动时,它们由Tomcat加载

${catalina.home}\webapps\ROOT\WEB-INF\classes\mylibrary.dll

所有库都是由JNA创建并且工作,但是只有一个由第三方管理的库(Zebra Multilink平台SDK),我无法从该文件夹加载。也许是因为它不能与JNA合作,而是与JNI合作。 如果我把那些库移到

 ${catalina.home}\bin

这是tomcat启动命令中java.library.path param定义的文件夹,它可以工作!

我可以在ROOT.war包中分发库并设置tomcat来查看我的所有应用程序以查找本机库吗?

1 个答案:

答案 0 :(得分:0)

好吧,你可以修改java.library.path并让它指向展开的webapp目录(你的${catalina.home}\webapps\ROOT\WEB-INF\classes\,但在出现之前自己解决${catalina.home}。)