“http:// central”在我的Maven settings.xml中意味着什么?

时间:2013-04-23 08:57:56

标签: maven

我现在一直在复制“示例”settings.xml文件,而且几乎所有这些文件似乎都包含一个包含URL http://central的存储库。这让我很烦,因为当然在本地域上可能有一台名为“central”的机器,所以这是一个有效的URN,但它也必须(可能?)对Maven有一些特殊含义。

这只是常用的简写,但实际的URL会被忽略吗?我可以用其他东西替换它,还是完全删除它?是否记录在哪里?

如果重要的话,我会在拥有内部iBiblio镜像的企业网络上发展,这对我们来说是“中心”。

2 个答案:

答案 0 :(得分:17)

AFAIK,a bogus URL提及Configure Maven to Download from Nexus,如下例所示: -

<settings>
  <mirrors>
    <mirror>
      <!--This sends everything else to /public -->
      <id>nexus</id>
      <mirrorOf>*</mirrorOf>
      <url>http://localhost:8081/nexus/content/groups/public</url>
    </mirror>
  </mirrors>
  <profiles>
    <profile>
      <id>nexus</id>
      <!--Enable snapshots for the built in central repo to direct -->
      <!--all requests to nexus via the mirror -->
      <repositories>
        <repository>
          <id>central</id>
          <url>http://central</url>
          <releases><enabled>true</enabled></releases>
          <snapshots><enabled>true</enabled></snapshots>
        </repository>
      </repositories>
     <pluginRepositories>
        <pluginRepository>
          <id>central</id>
          <url>http://central</url>
          <releases><enabled>true</enabled></releases>
          <snapshots><enabled>true</enabled></snapshots>
        </pluginRepository>
      </pluginRepositories>
    </profile>
  </profiles>
  <activeProfiles>
    <!--make the profile active all the time -->
    <activeProfile>nexus</activeProfile>
  </activeProfiles>
</settings>

nexus profile配置为从central repository下载a bogus URL http://central

此网址会被同一settings.xml文件中的镜像设置覆盖,以指向single Nexus group的网址。然后,nexus组在activeProfiles元素中列为活动配置文件。

我希望这可能有所帮助。

答案 1 :(得分:0)

我们也完全使用了此示例配置,即使在大约15(!)年内使用相同的注释也没有任何问题。对于Maven构建来说,这无关紧要,因为始终会为所有依赖项都要求联系。

但是今天,我试图构建一个具有ant + maven组合构建的项目,该项目无法通过artifact:remoteRepository Task从中央存储库获取依赖项。

解决方案是修复中央仓库中的“ url”标签:https://repo.maven.apache.org/maven2

因此,在大多数情况下,这似乎无关紧要,但是要避免出现任何极端情况,请始终使用正确的网址。