2011-05-27 42 views
2

我开发了一个GWT应用程序,其中包含一些带有JNI的本机库。当我从eclipse测试它时,一切正常,但是当我尝试将它部署在Eclipse服务器上时,它找不到本地库。在Tomcat中找不到本地库

我跟着this tutorial for JNI and Tomcat

,但它仍然无法找到他们,我注意到了。当我从我的服务器端应用程序中读取java.library.path时,它与我启动Tomcat时显示的不同(显示的路径变量为set path)。

任何想法我失踪?

+0

的可能的复制[如何添加到Tomcat本机库?](http://stackoverflow.com/questions/14018817/how-以加-A-本机库在-tomcat的) – 2017-03-10 19:56:55

回答

3

最简单的答案可能是编辑您的Tomcat安装的bin/startup脚本,将java.library.path更改为将本机库复制到的任何位置。像

java -Djava.library.path=/path/to/my/libs existing args 

的东西,如果你使用一个共享的托管服务提供商,你需要与业主协商,以确定它们是否会允许本地库被加载到容器中,如果有一个特定的位置图书馆应该复制到哪里。

除此之外,您的开发环境的元问题不同于您的部署环境。理想情况下,您将拥有在本地开发机器上运行的部署配置的精确副本(或尽可能接近)。

3

我也一直在努力。最终对我的工作是将JNI库放在tomcat/shared/lib目录中,并将LD_LIBRARY_PATH环境变量设置为JNI库的路径。我还设置了JAVA_OPTS环境变量以包含-Djava.library.path选项。

Tomcat 7顺便说一句。

如果目录不存在,您将需要创建shared/lib目录。

在我的Linux服务器,这是它是如何设置:

LD_LIBRARY_PATH=/usr/tomcat/shared/lib:$LD_LIBRARY_PATH 
JAVA_OPTS="-Djava.library.path=/usr/tomcat/shared/lib" 
相关问题