gpt4 book ai didi

java - Maven 错误 : (repeated) java. security.InvalidAlgorithmParameterException: trustAnchors 参数必须为非空

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:05:42 24 4
gpt4 key购买 nike

还得再问。有人认为这是 duplicate question并且已经回答并将其从列表中删除。

我在 Windows 中使用 maven (mvn) 批处理命令(而不是在 eclipse 中使用 m2e)来运行全新安装或解决依赖关系。有时,当 pom.xml 发生变化时,需要从我们的 Nexus 服务器下载 Artifact 。这曾经为我工作了很长时间。

但现在与 Nexus 服务器(https,服务器使用公司拥有的证书)的连接失败,出现“java.security.InvalidAlgorithmParameterException:trustAnchors 参数必须为非空”我知道,我更改了 Java 版本。但我很确定我以与以前版本相同的方式维护 cacerts keystore 。 (至少我比较了两个证书中的指纹;它们是一样的)。

运行命令时"mvn -s -Djavax.net.debug=all -Djava.net.ssl.trustStore="C:/Programme/Java/jre1.8.0_102/lib/security/cacerts"-Djavax.net.ssl。 trustStorePassword=changeit dependency:resolve”,ssl-trace 说:

keyStore is :    
keyStore type is : jks
keyStore provider is :
init keystore
init keymanager of type SunX509
trustStore is: No File Available, using empty keystore.
trustStore type is : jks
trustStore provider is :
init truststore

即使在命令中指定了keystore的路径和密码,ssl trace中的答案也是找不到。

我不知道我可能会改变什么来解决这个问题。我更改了 Windows PATH 语句,但这与前面描述的命令无关。任何提示表示赞赏

最佳答案

我遇到了同样的问题,我花了一天时间来解决它。正如您在错误堆栈中看到的那样,这是一个与 Java 相关的问题。签到:

/etc/ssl/certs/java 用于 cacerts 文件。
1) 如果你这里没有这个文件,这就是你得到这个错误的原因
2) 如果您在此处确实有此文件,则表示这可能不是有效的 cacerts 文件。

如果你愿意,你可以更新它:
sudo apt-get install --reinstall ca-certificates
如果它现在可以工作,那就完美了(在我的例子中它没有工作)

解决这个问题:

  1. 直接从 oracle 从 open-jdk8 下载(在我的例子中)
  2. 提取 tar.gz 文件
  3. jre/lib/security 下找到新的有效 cacerts 文件>
  4. 将此文件复制到 /etc/ssl/certs/java(如果是您的情况,请删除旧文件)

最后运行导致此错误的命令,希望它消失了!希望这对您有所帮助。

干杯

关于java - Maven 错误 : (repeated) java. security.InvalidAlgorithmParameterException: trustAnchors 参数必须为非空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39788295/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com