1

今天我和我的同事花了一些时间研究 Maven 发布插件的问题。

一位新员工试图release:perform在他以前从未部署到的 svn 存储库上运行。该命令将挂起不成功,工件将永远不会被部署;显示的错误是:

[INFO] Error validating server certificate for 'https://forge.onehippo.org:443':
[INFO]  - The certificate is not issued by a trusted authority. Use the
[INFO]    fingerprint to validate the certificate manually!
[INFO]  - The certificate hostname does not match.
[INFO] Certificate information:
[INFO]  - Subject: CN=*.onehippo.org, OU=Domain Control Validated, O=*.onehippo.org
[INFO]  - Valid: from Mon Aug 01 15:57:43 CEST 2011 until Thu Aug 02 21:19:06 CEST 2012
[INFO]  - Issuer: SERIALNUMBER=07969287, CN=Go Daddy Secure Certification Authority, OU=http://certificates.godaddy.com/repository, O="GoDaddy.com, Inc.", L=Scottsdale, ST=Arizona, C=US
[INFO]  - Fingerprint: cb:6c:4e:0e:4a:fa:63:3d:f9:e1:ef:c1:e6:81:b5:bc:7a:4e:dd:f8 
4

1 回答 1

1

经过多次尝试和高级开发人员的一些建议,我们通过将标签的新副本检出到临时文件夹并mvn deploy从那里运行来解决了这个问题。

这让我们可以选择回答用户输入提示并接受证书,如果 deploy 通过发布插件运行,这是不可能的。如您所见,问题在于 Java 默认 SSL 实现不识别通配符证书,因此无法验证(完全)匹配的主机名。

由于这个问题很少发生,如果发生了,只有当用户开始使用特定的存储库时,它是一个容易被遗忘的问题。

于 2012-06-05T13:20:46.030 回答