Maven版本无法执行发布以传递受保护的存储库

时间:2016-11-23 12:41:28

标签: maven

我尝试使用maven版本执行发布。

mvn release:prepare

工作正常,但使用

mvn release:perform

给我和错误

Failed to deploy artifacts: Could not transfer artifact. sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target -> [Help 1]

在我的pom.xml中

<scm>
    <developerConnection>scm:svn:https://(repo url)</developerConnection>
</scm>

<distributionManagement>
    <repository>
        <id>svnrepo</id>
        <url>https://(repo url)</url>
    </repository>
</distributionManagement>

和settings.xml

<server>
    <id>svnrepo</id>
    <username>test</username>
    <password>test</password>
</server>

我无法找到任何解决方案。

1 个答案:

答案 0 :(得分:0)

您需要将您的网络根证书证书安装到JRE(Java家庭专家正在使用)CACERTS。对于任何JAVA PKIX SSL EXAPTION,您可以遵循本指南。

如何获得根证书?

  1. 打开Goog​​le Chrome并导航至https网址,例如https://sourceforge.net/
  2. 点击您网址旁边的图标。见下图。
  3. enter image description here

    1. 单击“查看证书”。您可以查看层次结构并选择层次结构中最顶层的证书
    2. 确认证书名称中包含ROOT字样。
    3. 现在只是在下面的层次结构部分,您可以看到证书的矩形图像。只需将该图像拖放到桌面即可。
    4. 您现在已经获得了根证书

      如何将此证书安装到JRE CACERTS?

      在继续进行之前,请确认您确切找到了发出此错误的jre。很多时候IDE使用与它捆绑的jre而不是系统jre。

      对于您的情况只需输入以下命令

        

      mvn -version

      此命令将为您提供maven正在使用的java位置(java home)的路径。请使用该路径执行以下步骤。

      1. 在jre bin文件夹中使用keytool.exe。
      2. 按照命令将证书放入cacerts文件
      3.   

        keytool -import -noprompt -trustcacerts -alias ALIASNAME -file
          /PATH/TO/YOUR/DESKTOP/CertificateName.cer -keystore   / PATH / TO / YOUR / JDK / jre / lib / security / cacerts -storepass changeit

        现在你的问题已经解决了!