maven deploy:部署文件正在工作,但maven deploy无法工作

问题描述 投票:1回答:1

我正在尝试使用命令:maven deploy将Maven工件部署到Artifactory存储库中。

我遵循了Maven文档和JFrog的指示:

https://maven.apache.org/plugins/maven-deploy-plugin/usage.html

https://www.jfrog.com/confluence/display/RTF/Maven+Repository#MavenRepository-DeployingArtifactsThroughArtifactory

目前,maven deploy:deploy文件起作用。

我假设存储在settings.xml中的凭据和相应的存储库ID是正确的。

但是在运行maven deploy时出现错误:

[[错误]]无法在my-app项目上执行目标org.apache.maven.plugins:maven-deploy-plugin:2.8.2:deploy(默认部署):无法部署工件:无法传输工件com。 mvn.deployment:my-app:jar:1.0-20190518.184733-1从/到快照

返回码是:401,ReasonPhrase:未经授权。 -> [帮助1]

您知道为什么部署文件可以工作而部署不能正常工作吗?

谢谢

需要maven deploy:deploy文件工作:

mvn deploy:deploy-file -Durl=REPO_URL \
                      -DrepositoryId="snapshots" \
                      -Dfile=PATH_TO_JAR \
                      -DgroupId="Project" \
                      -DartifactId="test-project" \
                      -Dversion="0.0.1-SNAPSHOT"

虽然mvn deploy出现错误:

mvn deploy

ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-
plugin:2.8.2:deploy (default-deploy) on project my-app: Failed to deploy 
artifacts: Could not transfer artifact 
com.mvn.deployment:my-app:jar:1.0-20190518.184733-1 from/to snapshots

Return code is: 401, ReasonPhrase: Unauthorized. -> [Help 1]

UPDATE:

我使用不同版本的maven进行了一些测试,发现问题从版本3.5.0开始出现,mvn deploy命令在maven 3.3.9上有效,并且我认为它与版本3.5.0中的新版本的maven-wagon有关。他们将Maven Wagon从2.10升级到2.12。

通过将此配置添加到我的pom.xml mvn deploy起作用:

  <extension>
     <groupId>org.apache.maven.wagon</groupId>
     <artifactId>wagon-http</artifactId>
     <version>2.10</version>
  </extension>
java maven deployment artifactory http-status-code-401
1个回答
0
投票

我确认,您的回答正确。即使在settings.xml中正确指定,mvn deploy:deploy也不会使用凭据上载到存储库,从而产生Failed to deploy artifacts: Could not transfer artifact: Failed to transfer file xyz.jar with status code 401错误。

  • [mvn deploy:deploy-file有效,
  • mvn deploy:deploy不起作用:它不使用settings.xml中的用户名/密码上传到存储库。

您的解决方案是正确的:

<build>
     <plugins>
         <!-- It is a good idea to also set the maven-deploy-plugin version here -->
     </plugins>
     <extensions>
         <extension>
             <groupId>org.apache.maven.wagon</groupId>
             <artifactId>wagon-http</artifactId>
             <version>2.10</version>
         </extension>
     </extension>
</build>

注意:很抱歉,您通过编写自己的答案来接受投票,但我想将答案标记为正确的。有关完整的署名,请复制我的答案并通知我,我会更新您的答案并删除我的。谢谢。

© www.soinside.com 2019 - 2024. All rights reserved.