当存在并配置时,Tomcat APR本机库未加载* even *

时间:2013-09-13 00:31:36

标签: java linux tomcat ubuntu

系统是Ubuntu 13.04(64位)。 [更新:还尝试了12.04 TLS 64位,结果相同]

我编译了最新的(1.4.8)库(描述here的过程)并且文件可供所有人阅读:

$ ll /usr/local/apr/lib
-rw-r--r-- 1 root root    8351 Sep 12 19:29 apr.exp
-rw-r--r-- 1 root root 1608792 Sep 12 19:29 libapr-1.a
-rwxr-xr-x 1 root root     965 Sep 12 19:29 libapr-1.la*
lrwxrwxrwx 1 root root      17 Sep 12 19:29 libapr-1.so -> libapr-1.so.0.4.8*
lrwxrwxrwx 1 root root      17 Sep 12 19:29 libapr-1.so.0 -> libapr-1.so.0.4.8*
-rwxr-xr-x 1 root root  925622 Sep 12 19:29 libapr-1.so.0.4.8*
drwxr-xr-x 2 root root    4096 Sep 12 19:29 pkgconfig/

环境变量在.bashrc中设置并加载:

LD_LIBRARY_PATH=/usr/local/apr/lib

我使用-XshowSettings:properties启动了Tomcat的Java,显示java.library.path包含该路径。

java.library.path = /usr/local/apr/lib
    /usr/java/packages/lib/amd64
    /usr/lib64
    /lib64
    /lib
    /usr/lib

但是,当Tomcat启动时,我收到一条消息,即使它显示该目录的路径,也没有找到它。

Sep 12, 2013 8:14:12 PM org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/local/apr/lib:/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib

我真的不知道原因可能是什么。

非常感谢您的任何指示。

2 个答案:

答案 0 :(得分:2)

我在此期间找到了解决方案。我还需要为Tomcat安装native library support。如果有人搜索这个,我下载了tomcat-native-1.1.27-src(这是最新的)。命令如下。

cd tomcat-native-1.1.27-src/jni/native
./configure --with-apr=/usr/local/apr --with-java-home=/home/foo/jdk1.7.0_25 --with-ssl=yes
make
sudo make install

答案 1 :(得分:2)

使用以下命令在Ubuntu服务器上安装本机库:

sudo apt-get install libtcnative-1

如果不起作用,则需要安装tomcat-native

  1. 安装Oracle java7:

    • sudo add-apt-repository ppa:webupd8team / java
    • sudo apt-get update
    • sudo apt-get install oracle-java7-installer
    • sudo apt-get install oracle-java7-set-default
  2. 安装tomcat apr:

  3. 安装tomcat tomcat-native: