2

我正在尝试部署到我们的内部关系存储库。我已经配置了一个 Maven 项目,我可以在其中执行mvn installmvn 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 中可用:

行家

我尝试添加不同的插件,但没有运气。我不是专家,所以任何帮助将不胜感激!

4

3 回答 3

4

当我使用史蒂夫 C 的答案时,maven 刚刚停止部署。我反而通过了-DskipStaging=true,如此处所述。这让我可以继续使用nexus-staging-maven-plugin,只是没有暂存功能。

于 2018-08-02T17:05:35.783 回答
3

您无法部署分阶段发布,因为您现在使用的是 Nexus 的社区版,并且它不支持此功能。

现在你需要nexus-staging-maven-plugin从你的 pom.xml 和常规中删除配置

mvn clean deploy

将“正常工作”(但没有分期)。

于 2017-05-04T13:34:49.223 回答
1

我遇到了同样的问题,这对我有用。

mvn clean install deploy -DskipStaging=true

于 2019-11-12T03:06:50.153 回答