一起配置多个存储库,Custom Repo,Maven Central和Pentaho

时间:2014-02-17 10:25:07

标签: maven-3 pom.xml nexus

我使用过Sonatype Nexus存储库管理,我的要求如下:

  1. 首先我的自定义Nexus回购应该会出现,maven应该首先检查
  2. 如果某些罐子不在那里那么它应该去Maven Central
  3. 对于那些甚至不在Maven Central的罐子(Eigenbase-XOM),它应该去PentaHo
  4. 但事情对我不起作用,EigenBase XOM缺少工件错误显示,因为它没有下载

    如果有人能提供帮助,那将是一个很大的帮助。请让我知道我哪里错了?

    <?xml version="1.0" encoding="UTF-8"?>
    <settings xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.1.0 http://maven.apache.org/xsd/settings-1.1.0.xsd" xmlns="http://maven.apache.org/SETTINGS/1.1.0"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
     <mirrors>
        <mirror>
          <id>MyRepo</id>
          <mirrorOf>*</mirrorOf>
          <url>http://localhost:port/nexus/content/groups/public</url>
        </mirror>
      </mirrors>
      <profiles>
       <profile>
          <id>MyRepo</id>
         <repositories>
            <repository>
              <id>central</id>
              <url>http://central</url>
              <releases><enabled>true</enabled></releases>
              <snapshots><enabled>true</enabled></snapshots>
            </repository>
            <repository>
            <id>pentaho-releases</id>
            <url>http://repository.pentaho.org/artifactory/repo/</url>
                   </repository>
         </repositories>
             <pluginRepositories>
            <pluginRepository>
              <id>central</id>
               <url>http://central</url>
                </pluginRepository>
          </pluginRepositories>
    </profile>
      <activeProfiles>
        <activeProfile>MyRepo</activeProfile>
      </activeProfiles>
    </settings>
    

2 个答案:

答案 0 :(得分:1)

@Manfred Moser:是的你是对的。在网上搜索后我得到了同样的伎俩。

更详细的答案是: 1)创建一个新的存储库。 2)将该存储库添加到存储库组 3)您还可以更改存储库解析顺序

示例设置XML是: {

    <mirrors>
    <mirror>
      <!--This sends everything else to /public -->
      <id>MyRepo</id>
      <mirrorOf>*</mirrorOf>
      <url>http://localhost:port/nexus/content/groups/public</url>
    </mirror>
  </mirrors>
  <profiles>
   <profile>
      <id>MyRepo</id>
      <!--Enable snapshots for the built in central repo to direct -->
      <!--all requests to MyRepo 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>
    <activeProfile>MyRepo</activeProfile>
</activeProfiles>
</settings>

}

答案 1 :(得分:0)

只需使用公共组的简单设置,然后将代理存储库添加到组中。有关详情,请参阅Nexus book chapter on Maven usage

组列表中存储库的顺序可以根据需要控制解析顺序。