我维护了无数的tomcat实例,但现在我遇到了一个我从未遇到过的问题。
我得到了众所周知的日志消息,其中tomcat抱怨它无法在D:\ Program \ Apache Software Foundation \ Tomcat 7.0 \ bin找到本机库:
“基于APR的Apache Tomcat Native库,它允许最佳 在生产环境中没有找到性能 java.library.path:D:\ Program \ Apache Software Foundation \ Tomcat 7.0 \ BIN; [...]“
像往常一样,我将本机库“tcnative-1.dll”放入Tomcat的bin文件夹中(是的,它位于驱动器D:!!),但是tomcat还抱怨缺少本机库。
我还尝试在启动时指定 - Djava.library.path
,但没有成功。日志中没有其他消息可能表示启动时存在其他问题。
为什么tomcat没有找到原生的lib?
网络上充满了愚蠢的试错法,tomcat文档没有明确描述在哪种情况下它不会在bin文件夹中使用本机库。
其他信息:
Apache Tomcat 7.0.8
JVM 1.6.0_29-b11
答案 0 :(得分:0)
检查DLL bitsize是否与您的JDK bitsize(不是OS bitsize)匹配:例如。如果你运行Win64,但是32位Java,请确保拥有32位DLL。
答案 1 :(得分:0)
将setenv.bat创建到D:\ Program \ Apache Software Foundation \ Tomcat 7.0 \ bin中,并在其中添加以下行。
set JAVA_OPTS=-Djava.library.path="D:\Programme\Apache Software Foundation\Tomcat 7.0\bin"
这适合你吗?
答案 2 :(得分:0)
这是一个老帖子,但我在同样的问题上失去了很多时间。所以我想发布关于这个问题的解决方案。
第1步:将您的dll粘贴到java.path中,例如在windows C:\Windows\System32
第二步:设置VM选项:-Djava.library.path="C:\Windows\System32"
在netebeans rightClick on project --> properties --> run -->fill textfield in vmOption.