簡體   English   中英

使用多個公司存儲庫

[英]Using multiple corporate repositories

昨天我問到使用一個exlusive maven存儲庫,現在我需要使用2,它們都是私有的..所以關於這個鏈接解釋了強制maven使用一個存儲庫,我該如何指定第二個存儲庫? 讓我們看看,我現在在我的pom.xml中有兩個這樣的存儲庫,如果兩個存儲庫中缺少某些存儲庫,它將搜索公共存儲庫的依賴關系,如何防止這種情況?

<repositories>
    <repository>
      <id>my-internal-site</id>
      <name>our maven repository</name>
      <url>http://myserver/repo</url>
    </repository>
 <repository>
      <id>my-other-internal-site</id>
      <name>our 2nd maven repository</name>
      <url>http://myserver/repo2</url>
    </repository>
  </repositories>

我需要改變設置xml嗎?

<settings>
  ...
  <mirrors>
    <mirror>
      <id>internal-repository</id>
      <name>our maven repository</name>
      <url>http://myserver/repo</url>
      <mirrorOf>my-internal-site,my-other-internal-site</mirrorOf>
    </mirror>
    <mirror>
      <id>my-other-internal-site</id>
      <name>our 2nd maven repository</name>
      <url>http://myserver/repo2</url>
      <mirrorOf>my-internal-site,my-other-internal-site</mirrorOf>
    </mirror>
  </mirrors>
  ...
</settings>

或者以其他方式?

編輯

我知道如果我在settings.xml中指定獨占的,我不需要在我的pom.xml中設置存儲庫。我只是說明一點,所以有人可以更好地回答我的問題..謝謝

您不需要在鏡像中復制存儲庫 - 您所說明的配置對於給定mirrorOf僅選擇了一個鏡像mirrorOf

鏡像替換已定義的存儲庫,用於給定ID或ID集合( external:*等)。 如果需要添加存儲庫,則必須在POM或設置中添加存儲庫元素。

你可能想要這樣的東西:

<settings>
  ...
  <profiles>
    <profile>
      <id>second-repo</id>
      <repositories>
        <repository>
          <id>second-repo</id>
          <url>http://myrepo/second-repo</url>
          <!-- add releases / snapshots config as appropriate here -->
        </repository>
      </repositories>
      <!-- duplicate for pluginRepositories here if needed -->
    </profile>
  </profiles>
  <activeProfiles>
    <activeProfile>second-repo</activeProfile>
  </activeProfiles>
  ...
  <mirrors>
    <mirror>
      <id>corporate-repo</id>
      <url>http://myrepo/my-group</url>
      <mirrorOf>external:*,!second-repo</mirrorOf>
    </mirror>
  </mirrors>
  ...
</settings>

我還是會用:

<settings>
  ...
  <mirrors>
    <mirror>
      <id>internal-repository</id>
      <name>Maven Repository Manager running on repo.mycompany.com</name>
      <url>http://repo.mycompany.com/proxy</url>
      <mirrorOf>*</mirrorOf>
    </mirror>
  </mirrors>
  ...
</settings>

並在第一個中添加其他內部存儲庫作為“代理存儲庫”(大多數存儲庫管理器可以代理存儲庫)。

但我想知道你為什么要這樣做。 不能所有項目都使用相同的內部存儲庫嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM