Apache Tomcat 找不到原生库



我维护了无数tomcat实例,但现在我遇到了一个以前从未遇到过的问题。

我收到一条众所周知的日志消息,tomcat抱怨在D:\Program\Apache Software Foundation\tomcat 7.0\bin:中找不到本机lib

"基于APR的Apache Tomcat Native库在上找不到生产环境中的性能java.library.path:D:\Programme\Apache Software Foundation\Tomcat7.0\bin;[…]">

像往常一样,我将本机lib"tcnative-1.dll"放入Tomcat的bin文件夹中(是的,它位于驱动器D:!!(,但Tomcat进一步抱怨缺少本机lib。

我还尝试在启动时指定-Djava.library.path,但没有成功。日志中没有其他可能指示启动时出现其他问题的消息。

tomcat为什么找不到本地lib?

网络上充斥着愚蠢的试错方法,tomcat文档没有明确描述在什么情况下它不在bin文件夹中使用本机lib。

其他信息:

Apache Tomcat 7.0.8

JVM 1.6.0_29-b11

检查DLL的比特大小是否与JDK的比特大小(而不是操作系统的比特大小(匹配:例如,如果您运行的是Win64,但是32位Java,请确保有一个32位DLL。

将setenv.bat创建到D:\Program\Apache Software Foundation\Tomcat 7.0\bin中,并在其中放入以下行。

set JAVA_OPTS=-Djava.library.path="D:ProgrammeApache Software FoundationTomcat 7.0bin"

这是你的工作吗?

这是一篇老文章,但我因为同样的问题浪费了很多时间。所以我想发布我对这个问题的解决方案。

第一步:将dll复制粘贴到java.path中,例如在windows C:WindowsSystem32

第二步:设置VM选项:-Djava.library.path="C:WindowsSystem32"

在网络中rightClick on project --> properties --> run -->fill textfield in vmOption.

最新更新