如何获取默认java安装的cacerts的位置?
我正在寻找如何获取默认Java安装的cacerts
的位置,当你没有定义JAVA_HOME
或JRE_HOME
。
我需要一个至less适用于OS X
和Linux
的解决scheme。
是。 java -v
假定工作:)
在Linux下 ,find$JAVA_HOME
的位置:
readlink -f /usr/bin/java | sed "s:bin/java::"
cacerts
在lib/security/cacerts
:
$(readlink -f /usr/bin/java | sed "s:bin/java::")lib/security/cacerts
在mac OS X下 ,find$JAVA_HOME
运行:
/usr/libexec/java_home
cacerts
在Home/lib/security/cacerts
:
$(/usr/libexec/java_home)/lib/security/cacerts
更新(与JDK的OS X)
上面的代码在未安装JDK的计算机上进行了testing。 安装了JDK后, 正如pR0Ps所说的那样
$(/usr/libexec/java_home)/jre/lib/security/cacerts
从OS X 10.10.1(Yosemite)开始, cacerts
文件的位置已经更改为
$(/usr/libexec/java_home)/jre/lib/security/cacerts
你也可以参考readlink -f“ which java
”。 但是,它可能不适用于所有的二进制包装。 实际启动一个Java类最有可能更好。