-cp和-Djava.library.path

96
wlysola
2017.03.24 19:48* 字数 199

最近在测试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

java