2012-04-17 30 views

回答

2

我假設,通過「本地資源庫」你的意思是庫中找到你的公司/辦事處,而不是本地資源庫在$ HOME/.m2目錄/存儲庫。

定義你的倉庫在用戶的settings.xml文件的所有存儲庫的鏡子會做的伎倆:

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 
         http://maven.apache.org/xsd/settings-1.0.0.xsd"> 

     <mirrors> 
     <mirror> 
      <id>companyrepo</id> 
      <url>http://localrepo.com/repo</url> 
      <mirrorOf>*</mirrorOf> 
     </mirror> 
     </mirrors> 
    </settings> 

這樣,每一個項目都會從超級POM但Maven的繼承將無法連接到repo1.maven .ORG

+0

有趣的是,這回答了我的問題,如果不是我的問題。 (我還是不知道如何設置一個超級POM,但我不需要了:) – Falko 2012-04-17 17:34:31

+0

SuperPOM是Maven的罐子裏面的地方,你需要重新找出給定的罐子,修改POM和jar文件。但在我看來,它根本沒有意義...... – 2012-04-17 17:38:18

+0

這是上述文件的「除非明確設置」,這使我相信設置它是一種方式。我停止了。 – Falko 2012-04-17 18:41:49

0

我的理解是,超級POM提供了廣泛使用的功能,所有的Maven的POM,除非該功能是明確項目POM提供(例如有點像Java中的Object類)。因此,爲避免使用公共存儲庫,您可以指定要在您的POM中使用的(本地)存儲庫。但是,更好的方法是在settings.xml文件中指定本地存儲庫 - 這樣可以使用密碼保護本地存儲庫,而無需將用戶名/密碼提交到源代碼存儲庫並手動分享。

0

你在找什麼是Maven的離線模式。使用控制檯調用Maven時,可以通過-o--offline選項啓用它。如果您真的想要始終啓用它,請將<offline>true</offline>添加到您的settings.xml

如果您不能(由於某種原因)使用脫機模式,最極端的選擇是覆蓋central id的存儲庫定義。示例:

<repository> 
    <id>central</id> 
    <url>file://C:\tmprepo</url> 
</repository> 

我建議使用基於離線模式的解決方案。它乾淨清晰。

+0

對不起,我的表述誤導了你。正如托馬斯正確地假設的那樣,我打算談論公司本地存儲庫。所以離線模式不適合我。 – Falko 2012-04-17 13:23:08