我正在寻找 java.library.path 和类路径之间关系的简单解释。虽然我几乎不是新手,但我从来不用弄乱 jlp 但是我们在使用我参与的 WebSphere MQ 应用程序时遇到了问题,我们想打开他们的跟踪。不幸的是,一旦我告诉 IBM 我们已经重新打包了 MQ jar 以便我们可以通过 Maven 进行部署,他们甚至不会跟我谈论这个问题,除非我们使用 java.library.path 加载 WebSphere MQ jar。
太好了,让我们重做整个部署策略。我可以咬紧牙关,但这是我的问题:
java.library.path 和 classpath 之间有什么关系?在 jlp 上找到的类对编译器可见吗?你必须在编译器的命令行上指定jlp吗?你能在 jlp 和类路径上都指定这些类吗?哪个优先。
并且请不要因为研究不足而对这个问题嗤之以鼻。我当然搜索过“java.library.path”。当然是数以万计的点击量。我尝试进行高级谷歌搜索,将表达式限制为 oracle.com 站点。仍然有数以万计的点击量。我试着用谷歌搜索这两个术语。得到很多质量可疑的新手解释。我试过搜索java语言规范。没有命中。
我想要一个简洁而权威的解释。有人可以指点我吗?
更新- IBM 坚持认为,除非我使用 -Djava.library.path={path to MQ jars} 加载我的应用程序,否则他们的 MQ 跟踪工具将无法工作,尽管有服务合同,除非我这样做,他们甚至不会支持我这边走。然而,当然,我有引用这些类并且必须编译的代码。这就是这个问题背后的动机。