【问题标题】:how to change default truststore path如何更改默认信任库路径
【发布时间】:2020-05-03 11:16:47
【问题描述】:

当我跑步时

mvn clean install -Djavax.net.debug=ssl

我得到了信任库路径

trustStore 是: /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

【问题讨论】:

  • 为什么这是“错误的路径”?在我看来,(非常旧!)Java 版本是用来运行 Maven 的,所以如果是这样的话,那将是“正确的道路”。
  • @Marged no ,我查看了它,它似乎在 java 应用程序中手动设置了 trustrore,而我正在寻找它来为 maven 配置设置它,所以我不必使用额外的选项即-Djavax.net.sst.trustStore
  • @MarkRotteveel 在下载 zip 文件(位置指向的位置)之后,我使用 apt-get 安装了 java,现在我希望 maven 将文件放在 /usr 文件夹而不是 /Downloads文件夹

标签: java maven ubuntu truststore


【解决方案1】:

试试

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

如此处所述: https://docs.oracle.com/javase/8/docs/technotes/guides/troubleshoot/envvars002.html,也可以导出/设置环境变量:

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

【讨论】:

  • 嘿,何塞,谢谢你的回答,它对我有用,但我正在寻找更多永久更改,我不必为每个 maven 应用程序添加 -Djavax.net.ssl.trustStore 选项.
  • 在这种情况下,您可以使用 JAVA_TOOL_OPTIONS 环境变量。我已经编辑了答案。如果它对您有用,请接受答案!谢谢!
  • 最后一个疑问,您的意思是在/etc/profile/etc/enviorment 中更改环境变量??
  • 是的,这取决于操作系统以及您是否希望为所有用户或仅为一个用户设置此变量...对于所有用户和 unix 系统,/etc/profile 或按照您的发行版中的建议。对于 Linux,不鼓励这样做,而是邀请您在 /etc/profile.d/.sh 中的新脚本中进行更改
  • 如果我的回答有帮助,请提醒您点赞/接受。谢谢
猜你喜欢
  • 1970-01-01
  • 2015-10-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-17
  • 2019-12-03
  • 2021-06-19
相关资源
最近更新 更多