如何解决 Maven 构建到 Nexus 3 时的 405 错误?
How to solve 405 error on maven build to Nexus 3?
我在 Nexus 3
中创建了指向 Nexus 2
托管存储库的代理存储库。这是在 Nexus 2
上快照和发布存储库。现在,在 distributionManagement
标记上,我正在使用代理 URL 并尝试执行 mvn clean deploy
。我收到以下错误:
[INFO] Error deploying artifact: Failed to transfer file: http://nexus3url/repository/m2-snapshots/path/abc-1.1.4-SNAPSHOT.pom. Return code is: 405
Has anyone tried this?
如评论中所述,您只能部署到 Maven 托管存储库,不能部署到代理。这是设计使然。
当我尝试将应用程序部署到 nexus 3 存储库时,我遇到了同样的问题。
在我的例子中,url 不是代理,而是路径错误。
如果您尝试部署快照版本,请确保 url 指向 nexus 快照存储库位置。
如果是发布版本 url 应该指向发布存储库。
您的 Nexus 文件夹类型应该是主机并尝试
mvn deploy
使用管道命令。
configFileProvider([configFile(fileId: '1880060f-32be-4888-a77d-eb046cab6981', variable: 'MAVEN_SETTINGS')]) {
sh "/jenkins_new/jenkins/home/tools/hudson.tasks.Maven_MavenInstallation/Maven_3.5.0/bin/mvn -s $MAVEN_SETTINGS deploy:deploy-file -DgroupId=net.cyc -DartifactId=${pom.artifactId} -Dversion=${pom.version} -DgeneratePom=true -Dpackaging=jar -DrepositoryId=nbtnexus -Durl=https://dexus.connectcare.net/repository/maven-snapshots/ -DpomFile=pom.xml -Dfile=target/${pom.artifactId}-${pom.version}.${pom.packaging}"
}
我在 Nexus 3
中创建了指向 Nexus 2
托管存储库的代理存储库。这是在 Nexus 2
上快照和发布存储库。现在,在 distributionManagement
标记上,我正在使用代理 URL 并尝试执行 mvn clean deploy
。我收到以下错误:
[INFO] Error deploying artifact: Failed to transfer file: http://nexus3url/repository/m2-snapshots/path/abc-1.1.4-SNAPSHOT.pom. Return code is: 405
Has anyone tried this?
如评论中所述,您只能部署到 Maven 托管存储库,不能部署到代理。这是设计使然。
当我尝试将应用程序部署到 nexus 3 存储库时,我遇到了同样的问题。 在我的例子中,url 不是代理,而是路径错误。
如果您尝试部署快照版本,请确保 url 指向 nexus 快照存储库位置。 如果是发布版本 url 应该指向发布存储库。
您的 Nexus 文件夹类型应该是主机并尝试
mvn deploy
使用管道命令。
configFileProvider([configFile(fileId: '1880060f-32be-4888-a77d-eb046cab6981', variable: 'MAVEN_SETTINGS')]) {
sh "/jenkins_new/jenkins/home/tools/hudson.tasks.Maven_MavenInstallation/Maven_3.5.0/bin/mvn -s $MAVEN_SETTINGS deploy:deploy-file -DgroupId=net.cyc -DartifactId=${pom.artifactId} -Dversion=${pom.version} -DgeneratePom=true -Dpackaging=jar -DrepositoryId=nbtnexus -Durl=https://dexus.connectcare.net/repository/maven-snapshots/ -DpomFile=pom.xml -Dfile=target/${pom.artifactId}-${pom.version}.${pom.packaging}"
}