java的两种path
java一般使用两个path:classpath 和 java.library.path
classpath是指向jar包的位置
java.library.path是非java类包的位置如(dll,so),在vm arguments里添加-Djava.library.path= /usr/local/lib
1、通过启动参数设定 java -Djava.library.path=/jni/library/path Test
2、在代码中设定 System.setProperty("java.library.path", "/jni/library/path");
java.library.path默认值
在我的机器上其默认值为:
$JAVA_HOME/jre/lib/i386/server:$JAVA_HOME/jre/lib/i386
分析:
- 前三个都是JRE中提供的本地库
- 后三个是操作系统的库文件目录
-Djava.library.path 和 LD_LIBRARY_PATH的区别
如果使用 java -Djava.library.path=/jni/library/path 的方式设置的话,会覆盖默认值。其值为:
/jni/library/path
如果使用 export LD_LIBRARY_PATH=/jni/library/path的方式设置的话,会追加其值到默认值中。LD_LIBRARY_PATH的值会插入到JRE本地库之后,操作系统库文件目录之前。其值为:
$JAVA_HOME/jre/lib/i386/server:$JAVA_HOME/jre/lib/i386
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。