tomcat - 无法在 tomcat 7 上加载 native C .so 文件

标签 tomcat java-native-interface shared-libraries native

我已经在 ubumtu VM 上的 tomcat 7 上部署了一个网络应用程序。应用程序使用一个 jar 文件,该文件反过来对某些 native C SO 进行 JNI 调用。我做了以下事情: 1. 在tomcat 主目录下创建/shared/lib,并添加未压缩的类文件和C SO。 2. 更新 catalina.properties 以在 shared.loader 下查找上述目录 3.将上述目录添加到PATH 4. 添加 CATALINA_OPTS 到“-Djava.library.path”选项以指向上面的目录

多次重启 tomcat,仍然提示“无法加载文件 XXXX.SO”

我错过了什么?我几乎看过所有关于这个问题的文档

最佳答案

LD_LIBRARY_PATH=/location/of/your/shared-objects 添加到 $CATALINA_HOME/conf/tomcat.conf 并重新启动 Tomcat。这适用于 CentOS。

关于tomcat - 无法在 tomcat 7 上加载 native C .so 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15752761/

相关文章:

linux - BASEDIR 环境变量未正确定义

java - Websphere 应用程序中的 ClearQuest java api

java - Netbeans(用于 c/c++ 的 MinGW 编译器)可以调用任意 C/C++ DLL(在 VS'05 中编译)吗?

shared-libraries - 加载共享库时出错

java - DLL 到 LIB - 无法使用 JNI 和 System.load 调用打开 LIB 文件

linux - 在 apache : undefined symbol: ap_get_server_version 中使用 mod_jk 时出错

java - 使用 Maven、Jersey、Tomcat、@ApplicationPath、无 web.xml 调试 IncompatibleClassChangeError

java - JAX-RS 在自动 POJO 映射之前处理异常

java - 如何在 Java 中使用 .Net dll

linux - 我可以强制编译器将我的共享库也放入二进制文件中吗?