2010-02-18 18 views
5

我在Ubuntu服務器上有Maven。爲什麼我的Maven在Ubuntu上很慢?

它似乎嘗試了很多地方下載,但下載超時,但超時需要時間,所以我的整個構建需要一個多小時。

Downloading: http://scala-tools.org/repo-releases/org/apache/maven/maven-repository-metadata/2.0.3/maven-repository-metadata-2.0.3.pom 
[INFO] Unable to find resource 'org.apache.maven:maven-repository-metadata:pom:2.0.3' in repository scala-tools.org (http://scala-tools.org/repo-releases) 
Downloading: http://download.java.net/maven/2/org/apache/maven/maven-repository-metadata/2.0.3/maven-repository-metadata-2.0.3.pom 
[WARNING] Unable to get resource 'org.apache.maven:maven-repository-metadata:pom:2.0.3' from repository java.net (http://download.java.net/maven/2): Error transferring file: Connection timed out 
Downloading: http://download.java.net/maven/1/org.apache.maven/poms/maven-repository-metadata-2.0.3.pom 
[WARNING] Unable to get resource 'org.apache.maven:maven-repository-metadata:pom:2.0.3' from repository m1.java.net (http://download.java.net/maven/1): Error transferring file: Connection timed out 
Downloading: http://download.java.net/maven/2/org/apache/maven/maven-repository-metadata/2.0.3/maven-repository-metadata-2.0.3.pom 
[INFO] Unable to find resource 'org.apache.maven:maven-repository-metadata:pom:2.0.3' in repository maven2-repository.dev.java.net (http://download.java.net/maven/2) 
Downloading: http://repository.jboss.org/maven2/org/apache/maven/maven-repository-metadata/2.0.3/maven-repository-metadata-2.0.3.pom 
[INFO] Unable to find resource 'org.apache.maven:maven-repository-metadata:pom:2.0.3' in repository repository.jboss.org (http://repository.jboss.org/maven2) 
Downloading: http://repo1.maven.org/maven2/org/apache/maven/maven-repository-metadata/2.0.3/maven-repository-metadata-2.0.3.pom 

我只有在我的Maven設置兩個回購建立

<repository> 
    <id>central</id> 
    <name>Maven Repository Switchboard</name> 
    <layout>default</layout> 
    <url>http://repo1.maven.org/maven2</url> 
    <snapshots> 
     <enabled>false</enabled> 
    </snapshots> 
</repository> 

<repository> 
    <id>maven2-repository.dev.java.net</id> 
    <name>Java.net Repository for Maven</name> 
    <url>http://download.java.net/maven/2</url> 
</repository> 
<repository> 
    <id>repository.jboss.org</id> 
    <name>JBoss Repository</name> 
    <url>http://repository.jboss.org/maven2</url> 
</repository> 

謝謝你,菲利普

+0

當您複製其中一個URL並嘗試使用瀏覽器下載時會發生什麼? – 2010-02-18 14:33:46

回答

9

看來,Ubuntu的包Maven版本帶有一個/etc/maven2/settings.xml。看看這個文件,看它是否包含額外的存儲庫。同時檢查您正在使用的用戶的文件~/.m2/settings.xml

PS:我真的不喜歡使用的.deb對於這種軟件,並建議安裝爲「手動」(即剛纔下載的壓縮文件,解壓到某個地方,設置M2_HOME環境變量,並添加$M2_HOME/bin$PATH) 。

+1

我只想繼續這一點。手動安裝java工具非常簡單,幾乎總是最好的方法。 – jshen 2010-02-18 18:01:58

0

確保你可以在Maven之外訪問這些資源(在你的情況下是POM),如果機器沒有網絡連接(例如不能解析主機名),它會超時,並且它會花費一個時間很長一段時間(如您注意到的)。

如果您不需要每次重新下載資源,只需使用-o開關在「脫機」模式下運行Maven。

另外,只是一個提示,您可能想要創建和安裝POM,即使是第三方JAR,然後將它們放入本地回購。這樣,Maven不必每次都去管資源(它會檢查時間,但它們會在本地解決)。

對於第三方或其他非Maven JAR,您可以使用install plugin安裝。

3

也許矯枉過正,如果你是唯一一個在項目上工作,但我建議安裝像Artifactory(http://www.jfrog.org/products.php)或Nexus的Maven存儲庫管理器。我對Nexus並不熟悉,但Artifactory的安裝非常簡單 - 只需解壓縮即可(因爲它帶有嵌入式碼頭)。

爲什麼這會讓你的Maven構建速度更快?

  • 倉庫管理人員採用更先進的高速緩存比Maven的核心本身
  • (至少Artifactory的),您可以限制哪些Maven倉庫上查詢這組ID。如果您需要從多個不同的Maven存儲庫獲取依賴關係,這會大大加快速度。
+3

+1爲nexus,設置並不複雜,其他功能非常值得。 – crowne 2010-02-24 18:06:19

+0

順便說一句,也+1手動安裝Java工具,不使用你的發行版隨附的。 – JavaGuy 2010-02-24 19:26:58