gpt4 book ai didi

java - 在 Ubuntu 上的 Tomcat 中加载共享 native 库

转载 作者:行者123 更新时间:2023-11-28 21:53:52 25 4
gpt4 key购买 nike

如何在 Ubuntu 上的 Tomcat6 中加载共享库?

我创建了一个名为“libawragrids.so”的库“awragrids”并将其放在

/var/lib/tomcat6/shared

我在调用 start tomcat 的终端中设置了以下环境变量:

export PATH=$PATH:/var/lib/tomcat6/shared
export JAVA_OPTS="-Djava.library.path=/var/lib/tomcat6/shared"
export LD_LIBRARY_PATH=/var/lib/tomcat6/shared

然后我尝试加载库

private static final String GRIDTOOL_LIBRARY_NAME = "awratools";

static {
try {
System.loadLibrary(GRIDTOOL_LIBRARY_NAME);
} catch (java.lang.SecurityException e) {
System.out.println("Not allowed to load dynamic library " + GRIDTOOL_LIBRARY_NAME + ".");
throw e;
} catch (java.lang.UnsatisfiedLinkError e) {
System.out.println("Failed to load dynamic library " + GRIDTOOL_LIBRARY_NAME + ".");
throw e;
}
}

并在第二个 catch block 结束。我所做的所有阅读都表明前两个导出中的任何一个都可以解决问题。在 Windows 上,我将“awragrids.dll”放在路径上的一个文件夹中,它工作正常。

我在这上面花了太多时间,真的需要睡一觉...请帮忙!

最佳答案

确保 Tomcat 的启动脚本 -- /var/lib/tomcat6/bin 中的 catalina.sh -- 实际上使用的是 JAVA_OPTS 来自环境。在我现在查看的系统上的脚本中,有人在没有引入环境设置的情况下输入了完整的定义。

关于java - 在 Ubuntu 上的 Tomcat 中加载共享 native 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10773390/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com