maven deploy 使用快照但 404 用于发布
maven deploy works with snapshots but 404 for releases
我正在尝试部署到我们的内部 Nexus 存储库。我已经配置了一个 Maven 项目,我可以在其中执行 mvn install
和 mvn clean deploy
。奇怪的是,当我从版本中删除 SNAPSHOT
时,我得到了 404
.
这是我的 pom.xml 适用于 SNAPSHOTS
:
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>MavenExample</groupId>
<artifactId>com.mycompany</artifactId>
<version>1.0-SNAPSHOT</version>
<distributionManagement>
<repository>
<id>nexus</id>
<url>http://nexus.mycompany.com:8000/repository/maven-releases/</url>
</repository>
<snapshotRepository>
<id>nexus</id>
<url>http://nexus.mycompany.com:8000/repository/maven-snapshots/</url>
</snapshotRepository>
</distributionManagement>
<build>
<plugins>
<plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>nexus-staging-maven-plugin</artifactId>
<version>1.6.3</version>
<extensions>true</extensions>
<configuration>
<serverId>nexus</serverId>
<nexusUrl>http://nexus.mycompany.com:8000/repository/maven-releases/</nexusUrl>
<!-- update this to the correct id! -->
<stagingProfileId>myid</stagingProfileId>
</configuration>
</plugin>
</plugins>
</build>
</project>
当我把<version>1.0-SNAPSHOT</version>
改成<version>1.0</version>
我收到这个错误:
[ERROR] Failed to execute goal org.sonatype.plugins:nexus-staging-maven-plugin:1.6.3:deploy (injected-nexus-deploy) on project explicit-staging-example: Execution injected-nexus-deploy of goal org.sonatype.plugins:nexus-staging-maven-plugin:1.6.3:deploy failed: Nexus connection problem to URL [http://nexus.mycompany.com:8000/repository/maven-releases/ ]: 404 - Not Found -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginExecutionException
它们都在 nexus 中可用:
我试过添加不同的插件,但没有成功。我不是 maven 专家,所以任何帮助将不胜感激!
您无法部署分阶段发布,因为您现在使用的是 Nexus 社区版,它不支持此功能。
现在您需要从 pom.xml 和常规
中删除 nexus-staging-maven-plugin
配置
mvn clean deploy
将 "just work"(但没有分期)。
当我使用 Steve C 的答案时,maven 刚刚停止部署。我改为通过 -DskipStaging=true
,如记录 here。这让我可以继续使用 nexus-staging-maven-plugin
,只是没有暂存功能。
我遇到了同样的问题,这个对我有用。
mvn clean install deploy -DskipStaging=true
我正在尝试部署到我们的内部 Nexus 存储库。我已经配置了一个 Maven 项目,我可以在其中执行 mvn install
和 mvn clean deploy
。奇怪的是,当我从版本中删除 SNAPSHOT
时,我得到了 404
.
这是我的 pom.xml 适用于 SNAPSHOTS
:
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>MavenExample</groupId>
<artifactId>com.mycompany</artifactId>
<version>1.0-SNAPSHOT</version>
<distributionManagement>
<repository>
<id>nexus</id>
<url>http://nexus.mycompany.com:8000/repository/maven-releases/</url>
</repository>
<snapshotRepository>
<id>nexus</id>
<url>http://nexus.mycompany.com:8000/repository/maven-snapshots/</url>
</snapshotRepository>
</distributionManagement>
<build>
<plugins>
<plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>nexus-staging-maven-plugin</artifactId>
<version>1.6.3</version>
<extensions>true</extensions>
<configuration>
<serverId>nexus</serverId>
<nexusUrl>http://nexus.mycompany.com:8000/repository/maven-releases/</nexusUrl>
<!-- update this to the correct id! -->
<stagingProfileId>myid</stagingProfileId>
</configuration>
</plugin>
</plugins>
</build>
</project>
当我把<version>1.0-SNAPSHOT</version>
改成<version>1.0</version>
我收到这个错误:
[ERROR] Failed to execute goal org.sonatype.plugins:nexus-staging-maven-plugin:1.6.3:deploy (injected-nexus-deploy) on project explicit-staging-example: Execution injected-nexus-deploy of goal org.sonatype.plugins:nexus-staging-maven-plugin:1.6.3:deploy failed: Nexus connection problem to URL [http://nexus.mycompany.com:8000/repository/maven-releases/ ]: 404 - Not Found -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginExecutionException
它们都在 nexus 中可用:
我试过添加不同的插件,但没有成功。我不是 maven 专家,所以任何帮助将不胜感激!
您无法部署分阶段发布,因为您现在使用的是 Nexus 社区版,它不支持此功能。
现在您需要从 pom.xml 和常规
中删除nexus-staging-maven-plugin
配置
mvn clean deploy
将 "just work"(但没有分期)。
当我使用 Steve C 的答案时,maven 刚刚停止部署。我改为通过 -DskipStaging=true
,如记录 here。这让我可以继续使用 nexus-staging-maven-plugin
,只是没有暂存功能。
我遇到了同样的问题,这个对我有用。
mvn clean install deploy -DskipStaging=true