Maven+;Nexus+;Jenkins SSL证书错误
我已将证书安装到nexus。当我启动jenkins builder时,我收到一个错误:Maven+;Nexus+;Jenkins SSL证书错误,maven,ssl,jenkins,ssl-certificate,nexus,Maven,Ssl,Jenkins,Ssl Certificate,Nexus,我已将证书安装到nexus。当我启动jenkins builder时,我收到一个错误: [ERROR] Failed to execute goal on project wf-base: Could not resolve dependencies for project 1.0.0o-SNAPSHOT: Failed to collect dependencies at 1.0.0o-SNAPSHOT: Failed to read artifact descriptor for 1.0
[ERROR] Failed to execute goal on project wf-base: Could not resolve dependencies for project 1.0.0o-SNAPSHOT: Failed to collect dependencies at 1.0.0o-SNAPSHOT:
Failed to read artifact descriptor for 1.0.0o-SNAPSHOT: Could not transfer artifact 1.0.0o-SNAPSHOT from/to Nexus (https://nexus.repository.link):
sun.security.validator.ValidatorException: PKIX path building failed:
sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target -> [Help 1]
看起来您在链中缺少一个证书,因此您的证书不受信任,如果它是自签名证书,则需要将其添加为根证书。如果证书是由CA颁发的,则需要下载链中缺少的证书并安装它们 看起来您在链中缺少一个证书,因此您的证书不受信任,如果它是自签名证书,则需要将其添加为根证书。如果证书是由CA颁发的,则需要下载链中缺少的证书并安装它们 对于那些在这个问题上遇到困难的人(比如我),这里有一些选择 1.在java信任存储中导入CA 第一个选项是使用
keytool
在jre
cacert
文件中导入您的证书颁发机构
这个选项虽然看起来是最自然的,但有一个缺点:这意味着对JRE/JDK文件夹具有写访问权限,但情况并非总是如此
2.使用Jenkins将信任存储作为参数传递给Maven中的JVM
这里有一个技巧:maven
在运行之前将一组参数传递给jvm
。这些参数被包装在一个名为MAVEN_OPTS
wihch的变量中,并在mvn
脚本中初始化
使用Jenkins的方法是在从属设备或作业中创建环境变量,将其称为MAVEN_OPTS
,并为其提供JVM
选项:
MAVEN_OPTS
-Djavax.net.ssl.trustStore=your_custom_cert_file
和往常一样,还有很多其他的可能性,但这两种可能性是最干净的。对于那些偶然发现这个问题的人(比如我),这里有一些选择 1.在java信任存储中导入CA 第一个选项是使用
keytool
在jre
cacert
文件中导入您的证书颁发机构
这个选项虽然看起来是最自然的,但有一个缺点:这意味着对JRE/JDK文件夹具有写访问权限,但情况并非总是如此
2.使用Jenkins将信任存储作为参数传递给Maven中的JVM
这里有一个技巧:maven
在运行之前将一组参数传递给jvm
。这些参数被包装在一个名为MAVEN_OPTS
wihch的变量中,并在mvn
脚本中初始化
使用Jenkins的方法是在从属设备或作业中创建环境变量,将其称为MAVEN_OPTS
,并为其提供JVM
选项:
MAVEN_OPTS
-Djavax.net.ssl.trustStore=your_custom_cert_file
和往常一样,还有许多其他的可能性,但这两个是最干净的。所有这些组件都在代理之后,它是否重要?我发现了这个线索:正确的答案是我需要将证书添加到信任库中,而不是密钥库中。我会尝试一下,并提醒您何时完成所有这些组件都支持代理,这是否重要?我找到了这个线索:正确的答案是我需要将证书添加到信任库中,而不是密钥库中。我会试试这个,提醒你什么时候完成