-cp和-Djava.library.path
2017-03-24 本文已影响0人
wlysola
最近在测试tensorflow的Java API时,遇到了-cp和-Djava.library.path这两个命令,记一下
java -cp xxx.jar -Djava.library.path=xxx.so MyClass
-cp:
即 -classpath,用来添加指定的*.jar,*.class
-Djava.library.path:
通用形式是 -D[key]=[value],这里 java.library.path 用来添加指定的*.so,*.dll
用于执行native的方法:1.效率比java高。2.可以访问操作系统底层。
我的小bug:
我在linux下调试tensorflow时,使用的是:
java -cp ~/Downloads/libtensorflow-1.0.0-PREVIEW1.jar:.
-Djava.library.path=~/Downloads/jni
MyClass
发现老加载不上java.library.path
后来发现将相对路径 ~/Downloads/jni 换成绝对路径 /home/wlysola/Downloads/jni 就ok了。
注:classpath中的 :. 代表分隔符和当前class的path