我正在尝试使用命令:maven deploy将Maven工件部署到Artifactory存储库中。
我遵循了Maven文档和JFrog的指示:
https://maven.apache.org/plugins/maven-deploy-plugin/usage.html
目前,maven deploy:deploy-file有效。
我认为存储在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:部署文件正在工作:
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]
更新:
我使用不同版本的maven进行了一些测试,发现问题从版本3.5.0开始出现,mvn deploy命令在maven 3.3.9上有效,并且我认为它与3.5版中的新版本的maven-wagon有关。 0他们将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>
答案 0 :(得分:2)
我使用不同版本的maven进行了一些测试,发现问题从版本3.5.0开始出现,mvn deploy命令在maven 3.3.9上有效,并且我认为它与3.5版中的新版本的maven-wagon有关。 0他们将Maven Wagon从2.10升级到2.12。
通过将此配置添加到我的pom.xml mvn deploy作品中:
<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>
感谢Adrien提供了maven-deploy-plugin版本建议。
答案 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>
此答案基于Hamza的工作。