日期:2014-05-17  浏览次数:20755 次

The APR based Apache Tomcat Native library which allows ...java.library...异常
tomat在linux服务器上启动报The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/local/jdk1.6.0_26/jre/lib/i386/server:/usr/local/jdk1.6.0_26/jre/lib/i386:/usr/local/jdk1.6.0_26/jre/../lib/i386:/usr/java/packages/lib/i386:/lib:/usr/lib
异常解决方法:

apr 与 tomcat-native 提供更好的伸缩性、性能和集成到本地服务器技术。

如果没有apr技术,启动tomcat 时出现如下提示:

信息: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/java/jdk1.6.0_06/jre/lib/i386/client:/usr/java/jdk1.6.0_06/jre/lib/i386:/usr/java/jdk1.6.0_06/jre/../lib/i386:/usr/java/packages/lib/i386:/lib:/usr/lib
按照官方说明需要:

APR library
OpenSSL libraries
openssl 可以用 yum install openssl-devel,apr还是下载*.gz来安装。
apr-1.3.2.tar.gz(下载URL:http://www.apache.org/dist/apr/apr-1.4.5.tar.gz)

apr-util-1.3.2.tar.gz(下载URL:http://www.apache.org/dist/apr/apr-util-1.3.12.tar.gz)


tomcat-native.tar.gz 可以在tomcat/bin目录下找到。

安装 apr

wget http://apache.mirror.phpchina.com/apr/apr-1.3.2.tar.gz 
tar zxvf apr-1.3.2.tar.gz 
cd apr-1.3.2 
./configure 
make 
make install 
apr 默认安装在 /usr/local/apr

安装 apr-util

wget http://apache.mirror.phpchina.com/apr/apr-util-1.3.2.tar.gz 
tar zxvf apr-util-1.3.2.tar.gz 
cd apr-util-1.3.2 
./configure --with-apr=/usr/local/apr 
make 
make install 
安装 tomcat-native

cd /usr/local/tomcat-6.0.18/bin 
tar zxvf tomcat-native.tar.gz 
cd tomcat-native-1.1.14-src/jni/native 
./configure --with-apr=/usr/local/apr --with-java-home=/usr/java/jdk1.6.0_11 
make 
make install 
设置 apr 的环境变量:

vi /etc/profile 
# 后面添加以下内容 
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/apr/lib 
# 使profile生效, 
source /etc/profile 
启动 tomcat 后, 看日志:

bin/startup.sh 
head logs/catalina.out 
可以看到以下结果:

信息: Loaded APR based Apache Tomcat Native library 1.1.14.
2009-1-13 11:12:51 org.apache.catalina.core.AprLifecycleListener init
信息: APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].