【问题标题】:Maven settings.xml not used未使用 Maven settings.xml
【发布时间】:2020-06-05 14:44:37
【问题描述】:

我正在创建一个包含父 pom 的 maven 模块。这个父工件存储在一个 nexus maven 存储库中。我将 nexus 存储库添加到我的 settings.xml 中。 现在,如果我正在构建我的子模块,我会遇到错误: Could not find artifact test:my.parent:pom:1.0

似乎默认情况下不使用settings.xml。如果我添加 <repositories><repository><id>random</id><url>http://test/repository/maven-releases/</url></repository></repositories> to my childs pom 一切正常,使用 settings.xml 并找到父工件。

我是否遗漏了默认情况下将使用 settings.xml 的任何内容,或者这是预期的行为? 我不想将这个随机 repo 标签添加到我的每个子 pom 中。

父 Pom:

  <groupId>test</groupId>
  <artifactId>my.parent</artifactId>
  <version>1.0</version>
  <packaging>pom</packaging>

模块Pom:

  <parent>
    <groupId>test</groupId>
    <artifactId>my.parent</artifactId>
    <version>1.0</version>
  </parent>

  <artifactId>my.module</artifactId>
  <version>1.0</version>
  <packaging>pom</packaging>

settings.xml

<settings>
  <mirrors>
    <mirror>
      <id>Nexus</id>
      <url>http://mynexus:8081/repository/maven-group/</url>
      <mirrorOf>*</mirrorOf>
    </mirror>
  </mirrors>
<settings

【问题讨论】:

  • 只是想知道,您将 settings.xml 放在哪里?通常应该在${user.home}/.m2/settings.xml
  • 是的,settings.xml 放在${user.home}/.m2/
  • 你是从命令行还是从 IDE 调用 maven? IDE 通常捆绑 maven,它有自己的 settings.xml 文件。
  • 都试过了。 IntelliJ IDEA 和 mvn 通过命令行。两者都不起作用。如果我使用mvn help:effective-settings,则表明已加载正确的settings.xml
  • 您是否检查过该工件是否可以在您的存储库管理器中的给定坐标下找到?存储库是否放置在 maven-group 中?基于错误消息Could not find artifact test:my.parent:pom:1.0 ?

标签: java maven settings nexus


【解决方案1】:

据我所知,您可以使用 IDE 或命令行调用 maven。

如果您从 IDE 调用,请检查设置是否映射到您的 settings.xml 文件

如果您使用的是命令行,您可以使用mvn --v 进行检查,它会显示您的 Maven 主页在哪里。然后你可以在conf/settings.xml下查看你的设置文件

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-13
    • 1970-01-01
    • 2016-12-26
    • 2012-09-06
    • 2012-04-19
    • 1970-01-01
    相关资源
    最近更新 更多