1

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

我收到众所周知的日志消息,其中 tomcat 抱怨它无法在 D:\Programme\Apache Software Foundation\Tomcat 7.0\bin 找到本机库:

“在 java.library.path:D:\Programme\Apache Software Foundation\Tomcat 7.0\bin;[...] 上找不到允许在生产环境中获得最佳性能的基于 APR 的 Apache Tomcat Native 库

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

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

为什么tomcat找不到本机库?

网络上充满了愚蠢的试错方法,并且 tomcat 文档没有明确描述在哪些情况下它不会在 bin 文件夹中使用本机库。

附加信息:

Apache Tomcat 7.0.8

JVM 1.6.0_29-b11

4

3 回答 3

1

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

于 2013-05-04T18:33:07.237 回答
0

这是一个旧帖子,但我在同样的问题上浪费了很多时间。所以我想发布我关于这个问题的解决方案。

第一步:将您的 dll 复制粘贴到 java.path 中,例如在 windows 中C:\Windows\System32

第二步:设置虚拟机选项:-Djava.library.path="C:\Windows\System32"

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

于 2014-07-17T19:29:06.993 回答
0

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

set JAVA_OPTS=-Djava.library.path="D:\Programme\Apache Software Foundation\Tomcat 7.0\bin"

这个工作适合你吗?

于 2013-05-07T06:34:25.597 回答