ApacheTomcat没有';找不到本机库

ApacheTomcat没有';找不到本机库,tomcat,native,apr,Tomcat,Native,Apr,我维护了无数tomcat实例,但现在我遇到了一个以前从未遇到过的问题 我收到了一条众所周知的日志消息,tomcat抱怨它在D:\Program\Apache Software Foundation\tomcat 7.0\bin中找不到本机库: “基于APR的ApacheTomcat本机库,允许优化 在上找不到生产环境中的性能 java.library.path:D:\Program\Apache软件基金会\Tomcat 7.0\bin;[…]” 像往常一样,我将本机库“tcnative-1.dl

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

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

“基于APR的ApacheTomcat本机库,允许优化 在上找不到生产环境中的性能 java.library.path:D:\Program\Apache软件基金会\Tomcat 7.0\bin;[…]”

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

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

为什么tomcat找不到本机库

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

其他信息:

ApacheTomcat 7.0.8

JVM 1.6.0_29-b11


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

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

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

set JAVA\u OPTS=-Djava.library.path=“D:\Program\Apache软件基金会\Tomcat 7.0\bin”


这对您有用吗?

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

set JAVA\u OPTS=-Djava.library.path=“D:\Program\Apache软件基金会\Tomcat 7.0\bin”


这对你有用吗?

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

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

第二步:设置VM选项:
-Djava.library.path=“C:\Windows\System32”


在netebeans
中,右键单击项目-->属性-->运行-->填充vmOption中的文本字段。

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

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

第二步:设置VM选项:
-Djava.library.path=“C:\Windows\System32”


在netebeans
中,右键单击vmOption中的项目-->属性-->运行-->填充文本字段。

选中。都是32位的:Windows是32位的,Java是32位的,dll也是32位的。但没有成功。都是32位的:Windows是32位的,Java是32位的,dll也是32位的。但是没有成功。Tomcat是作为服务启动的,所以我通过系统属性设置了系统环境变量,但也没有成功。Tomcat再次抱怨缺少库。请尝试将“D:\Program\Apache Software Foundation\Tomcat 7.0\bin”添加到PATH系统环境变量中,然后重新启动计算机。Tomcat是作为服务启动的,所以我通过系统属性设置了系统环境变量,但也没有成功。Tomcat再次抱怨缺少库。请尝试将“D:\Program\Apache Software Foundation\Tomcat 7.0\bin”添加到PATH系统环境变量中,然后重新启动计算机。这有什么区别吗?第一步中的java.path是什么意思?您是否设置了这个变量,或者从变量java.path中获取了这个值并将其放入java.library.path?我使用默认的java路径。还可以更改java.path。有关更多信息,请参阅本教程,我想tomcat可以识别新路径。我还没有用新的java.path变量测试它。我使用了默认路径“C:\Windows\System32”。您的答案与“Shinichi Kai”相同。我总是将库的路径添加到-Djava.library.path。在第一步中,java.path是什么意思?您是否设置了这个变量,或者从变量java.path中获取了这个值并将其放入java.library.path?我使用默认的java路径。还可以更改java.path。有关更多信息,请参阅本教程,我想tomcat可以识别新路径。我还没有用新的java.path变量测试它。我使用了默认路径“C:\Windows\System32”。您的答案与“Shinichi Kai”相同。我总是将库的路径添加到-Djava.library.path。