【问题标题】:405 Method Not Allowed when deploying artifact to Nexus将工件部署到 Nexus 时不允许使用 405 方法
【发布时间】:2020-08-14 14:21:32
【问题描述】:

我正在使用 maven 命令将工件部署到允许重新部署的 Nexus 快照存储库:

mvn deploy:deploy-file -Durl=https://nexus.perque.com/repo/browse
/pont-aeri -DrepositoryId=tomcat-nexus.devops-snapshots -DgroupId=com.pont.aeri.pastis -DartifactId=pastis -Dversion=0.0.1-SNAPSHOT -Dpackaging=zip  -Dfile=D:\Users\pastis\IdeaProjects\pastis\pastis-web\target\pastis.war

但我有这个错误:

rds/0.0.2/pastis.zip 405 Method Not Allowed
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:215)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (Sin

【问题讨论】:

  • 你为什么要部署一个带有包装zip的WAR?
  • 我的包装问题和战争一样
  • 只是重新部署有效,还是第一次部署时有效?我们公司也在使用 Nexus,它类似于我们的浏览 URL,但不是我们用于通过 maven 进行部署的那个。另外,您可以访问该连接中的日志查看器吗?通过界面在管理 -> 支持 -> 日志记录。它可能有额外的信息。
  • 你的问题解决了吗?

标签: java maven nexus


【解决方案1】:

我从未见过mvn deploy:deploy-filenexus/repo/browse URL:browse 不应该用于部署文件,只能用于...浏览它们。

一个典型的电话是

mvn deploy:deploy-file \
  -Dfile=/path/to/a/file \
  -Dpackaging=jar -DgroupId=<aGroup> -DartifactId=<anArtifactId> -Dversion=x.y.z-SNAPSHOT \
  -DrepositoryId=<repoId> \
  -Durl==https://nexus.perque.com/content/repositories/repos-snapshots/

(将 repos-snapshots 替换为您为托管快照存储库提供的名称)

【讨论】:

    【解决方案2】:

    405 Method Not Allowed,表示在这种情况下,您的客户端尝试调用的 http 方法(可能是 POST)是不允许的。上传工件的网址可能是错误的,https://nexus.perque.com/repo/browse。能否请您使用快照网址而不是https://nexus.perque.com/repo/browse?猜猜它应该是 repository/maven-snapshots/ 之类的东西。 https://mincong.io/2018/08/04/maven-deploy-artifacts-to-nexus/

    【讨论】:

    • 就我而言,我只是忘记将/repository 添加到网址中。所以我不得不使用https://server/repository/reponame/dir/file 而不是https://server/reponame/dir/file
    猜你喜欢
    • 2012-09-21
    • 1970-01-01
    • 1970-01-01
    • 2015-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-01
    • 2012-06-29
    相关资源
    最近更新 更多