Maven快照依赖项
有两个项目p-m和p-d。它们是单独的詹金斯项目,可以单独建造。P-m依赖于P-d,它是快照版本依赖关系 最近,在构建p-m期间发生了一个问题。它抱怨无法从远程存储库下载P-d jar,并出现以下错误:PKIX路径生成失败:sun.security.provider.certpath.SunCertPathBuilderException 尽管该错误表明JVM证书可能存在问题,但它看起来不像来自同一远程存储库的其他JAR可以成功下载 如果先手动构建p-d(本地存储库有一个p-d快照jar,远程存储库有一个已部署的时间戳p-d jar),然后构建p-m,它工作正常,因为它不尝试从远程存储库下载p-d jar。Maven快照依赖项,maven,maven-3,Maven,Maven 3,有两个项目p-m和p-d。它们是单独的詹金斯项目,可以单独建造。P-m依赖于P-d,它是快照版本依赖关系 最近,在构建p-m期间发生了一个问题。它抱怨无法从远程存储库下载P-d jar,并出现以下错误:PKIX路径生成失败:sun.security.provider.certpath.SunCertPathBuilderException 尽管该错误表明JVM证书可能存在问题,但它看起来不像来自同一远程存储库的其他JAR可以成功下载 如果先手动构建p-d(本地存储库有一个p-d快照jar,远程存
但几天后,在P-d没有任何变化的情况下,当P-m构建时(这次P-d不是手动构建的),它会动态调用P-d的打包,我不知道为什么。在本例中,本地存储库具有上次的P-d快照jar,远程存储库具有新部署的时间戳P-d jar。然后,它尝试从远程存储库下载这个新的时间戳P-d jar,但无法下载该jar,错误为:PKIX路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException 请帮助回答以下问题(不确定是否重要:使用的maven版本是3.6.3):
该错误表示SSL证书存在问题。 我猜远程存储库可以通过https访问,它可能已经更改了它的证书,因此客户端不再信任服务器并拒绝通信。它甚至不需要是远程存储库服务器。您的组织设置的代理服务器会损坏SSL连接,这就足以发生此错误 您描述了如果项目是在本地构建的,那么问题就不存在了——这就是不必联系支持上述理论的存储库服务器的时候 查看一个教程,比如(有很多)如何将存储库的公共证书添加到maven的truststore 但要回答你的问题:
非常感谢。我确信其他成功下载的依赖项——可以通过本地存储库中的日志和时间戳进行验证。只有每次以某种方式自动构建的这个jar(我不确定它是否是“构建”,因为它不会将新生成的快照jar安装到本地存储库,而是只将新生成的jar部署到远程存储库)不能使用SunCertPathBuilderException下载。我很困惑,如果是SSL证书问题,为什么其他JAR可以成功下载?我清理了缓存,它仍然有同样的问题。你能澄清一下你在“除非它们是当前项目的子项目”中所说的“子项目”是什么意思吗?如何查看它是否是“子项目”?对于子项目,我指的是Maven的术语模块。我的回答不好,我编辑了答案。但令人困惑的是,只有一个罐子有问题。证书是否用于其他领域?这是一个有签名的罐子吗?