java.library.path和classpath之间有什么关系

Ste*_*hen 11 java classpath java.library.path

我正在寻找java.library.path和类路径之间关系的简单解释.虽然我不是新手,但我从来没有弄乱jlp但是我遇到了我参与的WebSphere MQ应用程序的问题,我们希望将其跟踪转向.不幸的是,一旦我告诉IBM我们已经重新打包MQ jar以便我们可以通过Maven进行部署,除非我们使用java.library.path加载WebSphere MQ jar,否则他们甚至不会和我讨论这个问题.

太棒了,让我们重做我们的整个部署策略.我可以咬那颗子弹,但这是我的问题:

java.library.path和类路径之间有什么关系?在jlp上找到的类是否对编译器可见?你必须在编译器的命令行上指定jlp吗?你能在jlp和classpath上指定这些类吗?哪个优先.

请不要因为研究不充分而喋喋不休地说这个问题.我当然用谷歌搜索"java.library.path".当然还有很多热门歌曲.我尝试进行高级谷歌搜索,将表达式限制在oracle.com网站上.还有很多点击率.我试过谷歌搜索这两个词.获得许多可疑质量的新手解释.我试过搜索java语言规范.没有命中.

我想要一个简洁而权威的解释.有人能指出我吗?

更新 - IBM坚持认为他们的MQ跟踪工具不会工作,除非我用-Djava.library.path = {MQ jars的路径}加载我的应用程序,除非我这样做,否则他们甚至不会支持我这条路.然而,当然,我有代码引用这些类并且必须编译.这是这个问题背后的动机.

Pet*_*rey 11

java.library.path和类路径之间有什么关系?

没有,他们唯一的共同点是他们都是路径.

在jlp上找到的类是否对编译器可见?

没有.

你必须在编译器的命令行上指定jlp吗?

决不.您只需在运行时使用它.

你能在jlp和classpath上指定这些类吗?

只在类路径上放置类.

聚隆相当于LD_LIBRARY_PATH,并告诉了OpenJDK /热点JVM在哪里可以找到共享本机库一样.DLL.so不坛子,不类.

http://examples.javacodegeeks.com/java-basics/java-library-path-what-is-it-and-how-to-use/