为 Maven 使用 Nexus 存储库

Use Nexus repository for Maven

我正在尝试配置我的 maven 以使用 Nexus 存储库。我想要实现的目标应该很常见:我希望有一个 Nexus 存储库作为中央依赖项的代理,还有两个存储库用于快照和发布。那里有很多文档,但我无法获取 运行。 我编辑了 settings.xml,使其看起来如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.1.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.1.0
    http://maven.apache.org/xsd/settings-1.1.0.xsd">
  <localRepository>${M2_REPO}</localRepository>
  <servers>
    <server>
      <id>nexus</id>
      <username>myuser</username>
      <password>mypass</password>
      <url>https://snapshoturl</url>
    </server>
    <server>
      <id>nexus-releases</id>
      <username>myuser</username>
      <password>mypass</password>
      <url>https://releaseurl</url>
    </server>
  </servers>
  <mirrors>
    <mirror>
      <id>nexus</id>
      <url>https://groupurl</url>
      <username>myuser</username>
      <password>mypass</password>
      <mirrorOf>*</mirrorOf>
    </mirror>
  </mirrors>

  <profiles>
    <profile>
      <id>myprofile</id>
      <repositories>
        <repository>
          <id>nexus</id>
          <url>https://snapshoturl</url>
          <username>myuser</username>
          <password>mypass</password>
          <releases>
            <enabled>false</enabled>
          </releases>
          <snapshots>
            <enabled>true</enabled>
          </snapshots>
        </repository>
        <!--<repository>
                <id>nexus-releases</id>
                <url>https://releaseurl</url>
                <releases><enabled>true</enabled></releases>
                <snapshots><enabled>false</enabled></snapshots>
              </repository>-->
      </repositories>
      <pluginRepositories>
        <pluginRepository>
          <id>central</id>
          <url>https://groupurl</url>
          <username>myuser</username>
          <password>mypass</password>
          <releases>
            <enabled>true</enabled>
          </releases>
          <snapshots>
            <enabled>true</enabled>
          </snapshots>
        </pluginRepository>
      </pluginRepositories>
    </profile>
  </profiles>
  <activeProfiles>
    <activeProfile>myprofile</activeProfile>
  </activeProfiles>
</settings>

但我总是收到以下错误信息:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-
plugin:2.7:deploy (default-deploy) on project share.logging: Failed to 
retrieve remote metadata xxx:share.logging:1.0.0-SNAPSHOT/maven-
metadata.xml: Could not transfer metadata 
xxx:share.logging:1.0.0-
SNAPSHOT/maven-metadata.xml from/to p19dai-internal (https://snapshoturl): 
Not authorized , ReasonPhrase:Authorization Required. -> [Help 1]

有人可以帮我吗?我错过了什么?

您运行 是通过 eclipse 还是基于 eclipse 构建的 mvn IDE? 然后转到 Window --> 首选项 在列表中查找 maven,然后用户设置在全局设置和用户设置中为您的 settings.xml 提供路径,然后单击应用

同时设置您的 .m2 存储库路径

问题出在您的 pom 文件中。 "distributionManagement" 部分中的 ID 需要与 settings.xml 文件的 "servers" 中的 ID 匹配。这就是 Maven 查找部署凭据的方式。