首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >同时使用java.endorsed.dirs和java.library.path时的冲突

同时使用java.endorsed.dirs和java.library.path时的冲突
EN

Stack Overflow用户
提问于 2012-09-10 18:44:26
回答 1查看 2.5K关注 0票数 2

我有一个现有的java应用程序,它使用CORBA。因此,它使用java.endorsed.dirs命令行参数指向包含我们使用的CORBA库的目录。应用程序目前在以下命令行中运行得很好:

代码语言:javascript
复制
java -splash:images/logo.png -Xms64m -Xmx1024m -Djava.endorsed.dirs=./lib -jar "myapp.jar"

现在,我需要向我的应用程序添加WorldWind支持。java.library.path jar文件调用本机库,并且似乎引导我使用WorldWind命令行参数指向包含本机库的目录。当我使用以下命令行时(添加java.library.path):

代码语言:javascript
复制
java -splash:images/logo.png -Xms64m -Xmx1024m -Djava.endorsed.dirs=./lib -Djava.library.path="./lib" -jar "myapp.jar"

运行应用程序时会收到以下错误:

代码语言:javascript
复制
..Exception in thread "main" java.lang.UnsatisfiedLinkError: no gluegen-rt in java.library.path    

“gluegen”是WorldWind使用的库之一。上面的例外是说很难找到WorldWind库。

如果我从命令行删除java.endorsed.dirs目录

代码语言:javascript
复制
java -splash:images/logo.png -Xms64m -Xmx1024m -Djava.library.path="./lib" -jar "myapp.jar"

..。然后我的应用程序运行良好(除了它现在使用的是默认的CORBA实现,而不是我们的产品附带的实现)。

我在这个话题上唯一能找到的链接是这里,但是这个问题似乎没有得到回答,所以我想在这里问。

这两个命令行参数能共存吗?如果没有,这附近有工作吗?

注意:--我是在Red上运行这个的。根据我收到的一条评论,在运行我的应用程序之前,我确实尝试过设置LD_LIBRARY_PATH。这没什么区别。

代码语言:javascript
复制
export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:./lib

注意:不可能基于最终用户设置将我们的/endorsed文件放在标准的/endorsed目录中。

注意:--我不认为这个问题是特定于CORBA或WorldWind的,但是我想给出我使用上述命令行参数的原因。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-09-11 02:45:47

为了我的特殊情况,我有个工作要做。两个命令行参数(java.endorsed.dirs和java.library.path)都指向同一个目录。当我将它们更改为指向不同的目录时,事情就开始起作用了。最后,我将WorldWind库移动到lib/worldwind,这样我的命令行如下所示:

代码语言:javascript
复制
java -splash:images/logo.png -Xms64m -Xmx1024m -Djava.endorsed.dirs=./lib -Djava.library.path="./lib/worldwind" -jar "myapp.jar"

我希望这能帮助别人解决这个问题。虽然我仍然不清楚为什么会出现“冲突”。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12357635

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档