当前位置: 首页 > 知识库问答 >
问题:

为Maven使用Nexus存储库

谭越
2023-03-14

我正在尝试将我的maven配置为使用Nexus存储库。我试图实现的应该是非常常见的:我希望有一个Nexus存储库作为中心依赖项的代理,还有两个用于快照和发布的存储库。那里有很多文档,但我无法让它运行。我编辑了my 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个答案

华宪
2023-03-14

您是通过eclipse还是基于eclipse的IDE运行mvn构建?然后转到Go to Window--

也设置你的. m2回购路径

尉迟冯浩
2023-03-14

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

 类似资料:
  • Maven只是看不到这些存储库,直到我从中删除。我还尝试将其他存储库镜像到Nexus,但没有成功:Maven仍然只使用中央存储库。 我做错了什么?

  • 我的问题是,在将Nexus存储库添加到数据库之后,我无法创建新的Maven项目。m2设置。xml。 我已经安装了Nexus Repositoy Manager OSS 3.0.2作为我的本地Maven存储库。我有一台机器处于离线模式,无法连接到Internet。我可以做的是将数据从在线机器传输到它的想法。所以我可以在在线机器上部署所有必要的库,稍后只需切换 /data文件夹。 使用Eclipse创

  • 我是Gradle、nexus和Maven的新手,并尝试使用Gradle'publish'任务将Maven工件从Jenkins发布到一个新的nexus存储库。Jenkins作业在发布时失败,出现以下错误。我已经在作业中为Nexus提供了用户名和密码。 在第一次发布之前,我们需要在nexus maven存储库中创建文件夹结构吗?并添加maven-metadata.xml?如何生成*.pom.sha和*

  • 是否可以在Nexus OSS3中导入zip文件作为Maven存储库?有一个关于迁移的文档部分(https://books.sonatype.com/nexus-book/reference/migrating.html),但它似乎不适用于Nexus3,因为blob存储是一个blob...在Artifactory上,这就像将zip文件上传到现有的repo一样容易。我认为这可以通过脚本来完成,但我想知

  • [链接被替换为[http],因为StackOverflow不允许我使用超过2个链接…] 我已经安装了Apache Maven 3.2.3([超文本传输协议]maven.apache.org/download.cgi?Preferred=ftp://mirror.reverse.net/pub/apache/),它已经下载了所有核心插件。 然后我在XAMPP tomcat服务器上安装了Sonatyp

  • 问题内容: 我的Maven配置有一个小问题。此处的所有其他问题和答案都不能解决我的问题,因此,我开始了一个新问题。 我的问题是,我的Maven没有使用本地存储库。它总是从远程存储库中获取工件。 当下载工件或构建项目时,它将安装在本地存储库中,因此路径正确。 问题是:当我构建一个SNAPSHOT项目时,它仅安装在本地存储库中(应该是这样,不想每次都将其发布在我的关系上)。当我在pom.xml中构建另