Maven的版本 - >同行没有通过认证(maven release -> peer not

2019-08-18 03:45发布

我尝试了一下与释放我的软件(我从来没有这样做之前),到目前为止,我已经能够执行MVN发布:准备。 正如我在执行释放:执行我收到以下错误:

[INFO] [ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plug
in:2.7:deploy (default-deploy) on project img2stl: Failed to deploy artifacts: C
ould not transfer artifact nl.byterendition:img2stl:jar:0.9 from/to byterenditio
n-releases (https://localhost:443/svn/repo/releases): peer not authenticated ->
[Help 1]

我已经建立了本地主机本地密码保护的svn库:443,所以我增加了以下我的settings.xml在我的文件夹中的.m2

编辑,包括埃德温·巴克的答案:

<?xml version="1.0" encoding="UTF-8"?>

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">

    <servers>
        <server>
            <id>byterendition-releases</id>
            <username>username</username>
            <password>password</password>
        </server>
        <server>
            <id>byterendition-snapshots</id>
            <username>username</username>
            <password>password</password>
        </server>
    </servers>
</settings>

这是我的聚甲醛的有效部分:

<distributionManagement>
    <repository>
        <id>byterendition-releases</id>
        <url>https://localhost:443/svn/repo/releases</url>
    </repository>
    <snapshotRepository>
        <id>byterendition-snapshots</id>
        <url>https://localhost:443/svn/repo/snapshots</url>
    </snapshotRepository>
</distributionManagement>

我怎样才能得到行家访问svn库?

好吧,作为埃德温·巴克认为我不应该使用本地主机,但因为我一直没能得到它的工作,否则我想我会尝试使用这个我用于工作远程SVN服务器。 现在,我得到一个不同的错误:

[INFO] [ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plug
in:2.7:deploy (default-deploy) on project img2stl: Failed to deploy artifacts: C
ould not transfer artifact nl.byterendition:img2stl:jar:0.9.5 from/to byterendit
ion-releases (https://svn.science.ru.nl/repos/estens/releases/): Failed to trans
fer file: https://svn.science.ru.nl/repos/estens/releases/nl/byterendition/img2s
tl/0.9.5/img2stl-0.9.5.jar. Return code is: 409, ReasonPhrase: Conflict. -> [Hel
p 1]

再次,我可以从Eclipse中访问该回购协议。 有谁知道我做错了吗?

Answer 1:

由于3.0.5版本的Maven检查上HTTPS连接的SSL证书。 您可以通过添加命令行参数暂时解决这个问题

-Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true

安装SSL证书到您的JRE应该永久地解决这个问题。

正式文件: http://maven.apache.org/wagon/wagon-providers/wagon-http/



Answer 2:

第1步:下载DER格式的证书* .CER(/X.509 .cert)文件到本地目录

(你可以从你的浏览器做到这一点;而在Chrome点击锁符号,显示Ceritficate - >复制到文件)

步骤2,导入到Java信任库

\ PROGRAM_FILES \的Java \ jdk1.6.0_45 \ JRE \ lib \ security中>%JAVA_HOME%\ jre的\ BIN \ keytool的-v -alias mavensrv -import -file d:\ TEMP \ apacher.cer -keystore trust.jks

第3步:给Maven作为环境变量路径

设置MAVEN_OPTS = -Xmx512m -Djavax.net.ssl.trustStore =%JAVA_HOME%/ JRE / LIB /安全/ trust.jks -Djavax.net.ssl.trustStorePassword =的changeit -Djavax.net.ssl.keyStore =%JAVA_HOME%/ JRE / LIB /安全/ trust.jks -Djavax.net.ssl.keyStoreType = JKS -Djavax.net.ssl.keyStorePassword =的changeit



Answer 3:

https://github.com/escline/InstallCert提供必要的工具,并提供关于如何导入远程证书到全系统的证书存储一步步指令。



Answer 4:

你在进入settings.xml是一个服务器ID localhost ,但您访问与ID(S)库byterendition-releasesbyterendition-snapshots

这意味着,行家不会recogonize因为他们有不同的“身份”,凭证与这两台服务器关联起来。 您将需要的settings.xml项byterendition-releasesbyterendition-snapshots

现在,如果你喜欢添加一个条目

    <server>
        <id>byterendition-releases</id>
        <username>user</username>
        <password>password</password>
    </server>

然后行家将符合HTTPS验证挑战byterendition-releases与用户名user和口令password ,因为它有一个服务器证书输入byterendition-releases

您还可以在额外添加条目byterendition-snapshots ,或将其设置为具有相同的服务器ID为byterendition-releases

---编辑,以跟上更新的问题---

您臻于用你的资料库localhost URL。 而如果你的仓库是真的在同一台主机上这可能工作,有很多的原因,它可能无法正常工作。

  1. 该SVN仓库是一个远程SVN服务器上,所以比远程服务器上的其他地方进行开发时,这将失败。
  2. HTTP服务器未配置为解决本地主机完全相同的方式,它可能解决外部请求。

无论哪种方式,沟本地主机。 如果你不能为机器获得稳定的DNS名称,即使是在一个IP地址将是一个更好的选择。 如果你的SVN服务器上的DHCP,那么投资的时候再找个工作动态DNS(不过说真的,你应该如果你能得到一个静态IP的服务器)。



Answer 5:

我发现Java版本可以在这里做一个区别。

与Maven 3.0.5,我得到这个错误与Java 6,但切换到Java 7(或更新版本),解决对我来说。



Answer 6:

连接到服务器时,它看起来像一个SSL的问题。 也许之前的用户名和密码检查。

你的配置与SSL客户端身份验证的SVN服务器? 这意味着你需要发送一个客户端证书到服务器。



Answer 7:

我已经升级到OSX小牛之后有很多的安全问题

  • SSL问题与亚马逊AWS
  • 同行不与Maven和Eclipse认证
  • trustAnchors参数必须为非空

我应用此更新JAVA,它修好了我的所有问题: http://support.apple.com/kb/DL1572?viewlocale=en_US



Answer 8:

我使用的Maven 3.5.3,和我选择通过根据上述答案添加命令行参数暂时解决这个问题的SSL。 但参数的格式似乎变化不大。

-D maven.wagon.http.ssl.insecure=true -D maven.wagon.http.ssl.allowall=true

对不起,我不能发表评论@Alex Punnen的答案,所以我必须写一个新的答案。



Answer 9:

有使用maven 3.6.0同样的问题。 所有提出的解决方案(使用-Dmaven.wagon.http.ssl.insecure = TRUE,-Dmaven.wagon.http.ssl.allowall = TRUE,更新CA存储)并没有为我工作。 其实,部署不是第一个模块上,而在〜25ish左右的失败,成功为所有前面的模块。 因此,我认为在一般的SSL处理是确定并有在当地<>服务器连接或证书的一般问题。

离开我一段时间相当混乱,今天我偶然发现这个问题jacoco他们提到的参数 。 添加此参数到我的pom.xml的部署插件配置的一部分,解决了这个问题对我来说。

但是我还没有不上,为什么部署失败的一些后来模块,而不是第一个已经很清楚。



文章来源: maven release -> peer not authenticated