Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何更改默认信任存储路径_Java_Maven_Ubuntu_Truststore - Fatal编程技术网

Java 如何更改默认信任存储路径

Java 如何更改默认信任存储路径,java,maven,ubuntu,truststore,Java,Maven,Ubuntu,Truststore,当我跑的时候 mvn clean install -Djavax.net.debug=ssl 我得到的信任存储路径如下所示 信任库是: /home/user/Downloads/jdk8/openjdk-8u40-b25-linux-x64-10_feb_2015/java-se-8u40-ri/jre/lib/security/cacerts 但这是一条错误的道路,它最终给了我这个错误 Failed to read artifact descriptor for org.springfram

当我跑的时候

mvn clean install -Djavax.net.debug=ssl
我得到的信任存储路径如下所示

信任库是: /home/user/Downloads/jdk8/openjdk-8u40-b25-linux-x64-10_feb_2015/java-se-8u40-ri/jre/lib/security/cacerts

但这是一条错误的道路,它最终给了我这个错误

Failed to read artifact descriptor for org.springframework.statemachine:spring-statemachine-core:jar:
2.1.3.RELEASE: Could not transfer artifact org.springframework.statemachine:spring-statemachine-core:
pom:2.1.3.RELEASE from/to central (https://repo.maven.apache.org/maven2): java.lang.RuntimeException: 
Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
那么如何更改默认信任库的路径

我正在运行ubuntu 18.04 和openjdk 8

试试看

-Djavax.net.ssl.trustStore=/real-path/cacerts -Djavax.net.ssl.trustStorePassword=changeit -Djavax.net.ssl.trustStoreType=jks
如本文所述: ,也可以导出/设置环境变量:

JAVA_TOOL_OPTIONS="-Djavax.net.ssl.trustStore=/real-path/cacerts -Djavax.net.ssl.trustStorePassword=changeit -Djavax.net.ssl.trustStoreType=jks"

这回答了你的问题吗?为什么这是一条“错误的道路”?在我看来,(非常旧!)Java版本是运行Maven所习惯的,因此如果是这样,它将是“正确的路径”。@Marged no,我查看了一下,它似乎在java应用程序中手动设置了trustrore,而我正在查看它,将其设置为maven配置,这样我就不必在下载zip文件(位置指向)后使用额外的选项,即
-Djavax.net.sst.trustStore
@markrottevel我使用
apt get
安装了java,现在我想让maven在
/usr
文件夹中获取文件,而不是
/Downloads
文件夹嘿,Jose谢谢你的回答,这对我来说很有效,但我一直在寻找更持久的变化,在这里,我不必为每个maven应用程序添加
-Djavax.net.ssl.trustStore
选项。在这种情况下,您可以使用JAVA\u工具\u选项环境变量。我已经编辑了答案。如果答案对你有效,请接受!谢谢最后一个疑问是,您的意思是在
/etc/profile
/etc/environment
中更改环境变量?是的,这取决于操作系统以及您希望为所有用户还是仅为一个用户设置此变量。。。对于所有用户和unix系统,/etc/profile,或按照您的发行版中的建议。对于Linux,不鼓励这样做,相反,他们邀请您在/etc/profile.d/.shre中的一个新脚本中进行更改。如果我的回答有帮助,请您投票/接受。谢谢