我正在寻找一个简单的解释来说明java.library.path和classpath之间的关系。虽然我不是新手,但我从未涉及过j.l.p。但是,我们在参与的WebSphere MQ应用程序中遇到了问题,我们想要开启追踪功能。不幸的是,一旦我告诉IBM我们重新打包了MQ jars以便通过Maven部署,除非我们将WebSphere MQ jars与java.library.path一起加载,否则他们甚至不会和我谈论这个问题。
那么,我们可以重新制定整个部署策略。我可以接受这种代价,但我的问题在于:
java.library.path和classpath之间的关系是什么? j.l.p上的类对编译器可见吗?你是否必须在编译器的命令行中指定j.l.p?你可以同时在j.l.p和classpath上指定这些类吗?哪个优先级更高?
请不要因为研究不足而批评这个问题。当然,我已经谷歌了“java.library.path”。当然有无数的结果。我尝试进行高级谷歌搜索,将表达式限制在oracle.com网站上。还是有无数的结果。我尝试谷歌两个术语。得到很多质量存疑的新手解释。我尝试搜索Java语言规范。没有结果。
我想要一个简明扼要且权威的解释。有人能指导我吗?
更新 - IBM坚持认为,除非我使用-Djava.library.path = {path to MQ jars}加载应用程序,否则他们的MQ跟踪功能将无法正常工作,并且即使我拥有服务合同,他们也不会支持我,除非我以这种方式进行操作。当然,我有引用这些类的代码,必须编译。这是本问题背后的动机。
那么,我们可以重新制定整个部署策略。我可以接受这种代价,但我的问题在于:
java.library.path和classpath之间的关系是什么? j.l.p上的类对编译器可见吗?你是否必须在编译器的命令行中指定j.l.p?你可以同时在j.l.p和classpath上指定这些类吗?哪个优先级更高?
请不要因为研究不足而批评这个问题。当然,我已经谷歌了“java.library.path”。当然有无数的结果。我尝试进行高级谷歌搜索,将表达式限制在oracle.com网站上。还是有无数的结果。我尝试谷歌两个术语。得到很多质量存疑的新手解释。我尝试搜索Java语言规范。没有结果。
我想要一个简明扼要且权威的解释。有人能指导我吗?
更新 - IBM坚持认为,除非我使用-Djava.library.path = {path to MQ jars}加载应用程序,否则他们的MQ跟踪功能将无法正常工作,并且即使我拥有服务合同,他们也不会支持我,除非我以这种方式进行操作。当然,我有引用这些类的代码,必须编译。这是本问题背后的动机。