使用Nexus存储库for Maven

时间:2018-02-19 14:28:36

标签: java maven nexus

我正在尝试配置我的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]

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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:-1)

您是否通过eclipse或基于eclipse的IDE运行mvn构建? 然后去Go to Window - &gt;喜好 在列表中查找maven,然后用户设置在全局设置和用户设置中提供settings.xml的路径,然后单击“应用”

还设置.m2回购路径