java - Tomcat APR native 库*甚至*在存在并配置时未加载

标签 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

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

非常感谢您的指点。

最佳答案

在 Ubuntu 服务器上安装 native 库:

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:

关于java - Tomcat APR native 库*甚至*在存在并配置时未加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18776378/

相关文章:

java - 谁是 JVM 的所有者?

android - 如何在 beaglebone black 上使用 RS485

java - 为什么设置类路径后javax.servlet包仍然不存在?

java - 如何将AWS SDK添加到OSGi环境

java - 标记单词之间间距不等的行

java - Java 中的 DriverManager.getConnection 使用相对路径

linux - tail 文件 - 该文件变得不可访问然后又出现了

linux - Linux 上的 .Net Core 在 'dotnet myapp.dll' 下运行良好,但在 systemctl 下失败

apache - Spring-security、Tomcat 和 SPNEGO - 最佳方法

java - 具有有效证书的 spring boot https 获取 ERR_SSL_VERSION_OR_CIPHER_MISMATCH,自签名工作正常