java.library.path中未找到基于APR的Apache Tomcat本地库?

22

我在使用Eclipse/Linux上Tomcat运行我的应用程序时,收到了以下信息:

INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/lib/jvm/java-6-sun-1.6.0.20/jre/lib/amd64/server:/usr/lib/jvm/java-6-sun-1.6.0.20/jre/lib/amd64:/usr/lib/jvm/java-6-sun-1.6.0.20/jre/../lib/amd64:/usr/lib64/xulrunner-addons:/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib

我该如何解决这个问题?

4个回答

26

我的情况: 看到同样的INFO消息。

Centos 6.2 x86_64 Tomcat 6.0.24

这个方法解决了我的问题:

yum install tomcat-native

嘭!


1
这是最快的方法! - pengchy

11

对于Ubuntu用户

 1. Install compilers
    #sudo apt-get install make
    #sudo apt-get install gcc

    2. Install openssl and development libraries
    #sudo apt-get install openssl
    #sudo apt-get install libssl-dev
    3. Install the APR package (Downloaded from http://apr.apache.org/)

    #tar -xzf apr-1.4.6.tar.gz
    #cd apr-1.4.6/
    #sudo ./configure
    #sudo make
    #sudo make install

    You should see the compiled file as
    /usr/local/apr/lib/libapr-1.a

    4. Download, compile and install Tomcat Native sourse package
    tomcat-native-1.1.27-src.tar.gz

    Extract the archive into some folder

    #tar -xzf tomcat-native-1.1.27-src.tar.gz
    #cd tomcat-native-1.1.27-src/jni/native
    #JAVA_HOME=/usr/lib/jvm/jdk1.7.0_21/
    #sudo ./configure --with-apr=/usr/local/apr --with-java-home=$JAVA_HOME
    #sudo make
    #sudo make install

    Now I have compiled Tomcat Native library in /usr/local/apr/libtcnative-1.so.0.1.27 and symbolic link file /usr/local/apr/@libtcnative-1.so pointed to the library

    5. Create or edit the $CATALINA_HOME/bin/setenv.sh file with following lines :
    export LD_LIBRARY_PATH='$LD_LIBRARY_PATH:/usr/local/apr/lib'

    6. Restart tomcat and see the desired result:

3

下载适合您操作系统的APR基础的Tomcat本地库,以便Apache Tomcat服务器可以利用您的操作系统的某些功能,这些功能在Tomcat中默认未包含。对于Windows,它将是一个.dll文件。

我也在启动服务器时收到了警告,如果您正在测试或开发,则不必担心此问题。这是为生产目的而设计的。 在将tcnative-1.dll文件放入Apache Tomcat 7的bin文件夹后,stderr文件中会输出以下内容:

Apr 07, 2015 1:14:12 PM org.apache.catalina.core.AprLifecycleListener init
INFO: Loaded APR based Apache Tomcat Native library 1.1.33 using APR version 1.5.1.
Apr 07, 2015 1:14:12 PM org.apache.catalina.core.AprLifecycleListener init
INFO: APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].
Apr 07, 2015 1:14:14 PM org.apache.catalina.core.AprLifecycleListener initializeSSL
INFO: OpenSSL successfully initialized (OpenSSL 1.0.1m 19 Mar 2015)
Apr 07, 2015 1:14:14 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-apr-127.0.0.1"]

2

我通过删除旧服务器并重新创建相同的服务器来解决此问题(在Eclipse IDE中)。这个错误是因为你没有正确终止Tomcat服务器和关闭Eclipse。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接