2011-01-13 172 views
8

好吧,我正在將我的開發環境從筆記本電腦移至我的桌面。爲什麼不Maven下載jar文件,但下載插件罰款?

我在兩臺機器上都得到了完全相同的項目,但是當我嘗試在桌面上通過eclipse運行maven的更新依賴關係時,只是抱怨每個單獨依賴關係的「缺少artefact」!

我檢查了桌面上的本地回購,果然,沒有罐子!?所有的pom都在那裏,但沒有罐子!

我回到筆記本電腦,從該機器上的本地回購從罐子中刪除,並再次調用更新依賴關係和砰,罐子下載就好,但桌面似乎無法下載任何罐子?

這兩臺機器都在同一個網絡/路由器,所以它不能是硬件防火牆/代理,但有一些eclipse設置或Windows防火牆設置我完全忘了?

最後,我一直在刪除桌面上的回購,並在項目中使用mvn -up clean install,我注意到它下載的PLUGIN jar很好,但是繼續只下載任何和所有依賴的poms !?

我的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.0http://maven.apache.org/xsd/settings-1.0.0.xsd"> 

<pluginGroups></pluginGroups> 
<proxies></proxies> 
<servers></servers> 
<mirrors></mirrors> 
<profiles> 

    <profile> 
     <id>standard-extra-repos</id> 
     <activation> 
      <activeByDefault>true</activeByDefault> 
     </activation> 
     <repositories> 
      <repository> 
       <id>net.java.download</id> 
       <url>http://download.java.net/maven/2</url> 
       <releases> 
        <enabled>true</enabled> 
       </releases> 
       <snapshots> 
        <enabled>false</enabled> 
       </snapshots> 
      </repository> 
      <repository> 
       <id>org.apache</id> 
       <url>http://maven.apache.org/</url> 
       <releases> 
        <enabled>true</enabled> 
       </releases> 
       <snapshots> 
        <enabled>false</enabled> 
       </snapshots> 
      </repository> 
      <repository> 
       <id>org.codehaus.mojo</id> 
       <url>http://mojo.codehaus.org/</url> 
       <releases> 
        <enabled>true</enabled> 
       </releases> 
       <snapshots> 
        <enabled>false</enabled> 
       </snapshots> 
      </repository> 
      <repository> 
       <id>com.jboss.repository</id> 
       <url>http://repository.jboss.com/maven2</url> 
       <releases> 
        <enabled>true</enabled> 
       </releases> 
       <snapshots> 
        <enabled>false</enabled> 
       </snapshots> 
      </repository> 
      <repository> 
       <id>com.springsource.repository.bundles.release 
       </id> 
       <name>SpringSource Enterprise Bundle Repository - 
        SpringSource Bundle Releases</name> 
       <url>http://repository.springsource.com/maven/bundles/release 
       </url> 
       <releases> 
        <enabled>true</enabled> 
        <updatePolicy>daily</updatePolicy> 
        <checksumPolicy>warn</checksumPolicy> 
       </releases> 
      </repository> 
      <repository> 
       <id>com.springsource.repository.bundles.external 
       </id> 
       <name>SpringSource Enterprise Bundle Repository - 
        External Bundle Releases</name> 
       <url>http://repository.springsource.com/maven/bundles/external 
       </url> 
       <releases> 
        <enabled>true</enabled> 
        <updatePolicy>daily</updatePolicy> 
        <checksumPolicy>warn</checksumPolicy> 
       </releases> 
      </repository> 
      <repository> 
       <id>com.springsource.repository.libraries.release 
       </id> 
       <name>SpringSource Enterprise Bundle Repository - 
        SpringSource Library Releases</name> 
       <url>http://repository.springsource.com/maven/libraries/release 
       </url> 
       <releases> 
        <enabled>true</enabled> 
        <updatePolicy>daily</updatePolicy> 
        <checksumPolicy>warn</checksumPolicy> 
       </releases> 
      </repository> 
      <repository> 
       <id>com.springsource.repository.libraries.external 
       </id> 
       <name>SpringSource Enterprise Bundle Repository - 
        External Library Releases</name> 
       <url>http://repository.springsource.com/maven/libraries/external 
       </url> 
       <releases> 
        <enabled>true</enabled> 
        <updatePolicy>daily</updatePolicy> 
        <checksumPolicy>warn</checksumPolicy> 
       </releases> 
      </repository> 
     </repositories> 
    </profile> 

+0

Maven配置是在兩臺機器上一樣嗎? (文件settings.xml) – wesoly 2011-01-13 12:18:02

+0

請參閱編輯到原始問題的settings.xml ...兩臺機器相同,保存在筆記本電腦上我有在該部分 – 2011-01-13 12:31:06

回答

5

嗯不知道這是不是一個聰明人,但我在桌面上使用maven 3.0.1,我再次下載了2.2.1以匹配筆記本電腦和BANG,依賴jar下載就好了!非常適合「向後兼容」的Maven 3!

1

確保你在你的settings.xml文件的正確設置。

+0

請參閱編輯原始問題的settings.xml ...相同這兩個機器,除了在筆記本電腦上我有一個在該部分 – 2011-01-13 12:30:26

2

看看下載的POM的內容。有時Maven嘗試下載它們,甚至在文件系統上創建它們,但如果你看看內容,你會發現一些服務器錯誤代碼,也許這可以幫助..

0

有同樣的問題。在鏡像部分添加一個重複的服務器爲我解決了它。

0

如果您希望您的項目可以跨任何機器移植,則不能依賴本地settings.xml。我通常看到的實際上是在/ target目錄中建立一個本地repo,然後使用它在構建時生成的maven環境中運行目標。公約似乎是src/main/it/settings.xml和src/main/it/local-repo。

我確定有一個maven插件可以爲你做。

0

如果這不是代理問題,那麼可能是由於您的網絡問題,這意味着您的網絡無法連接到setting.xml中指定的存儲庫中心。

嘗試改變倉庫中心:
在MAVEN_HOME/conf目錄/ Setting.xml的,找到鏡子標籤,並更換舊的/空鏡與新鏡,然後重新啓動你蝕。

以下是爲我工作得很好鏡子:

<mirror> 
     <id>ibiblio.org</id> 
     <name>ibiblio Mirror of http://repo1.maven.org/maven2/</name> 
     <url>http://mirrors.ibiblio.org/pub/mirrors/maven2</url> 
     <mirrorOf>central</mirrorOf> 
     <!-- United States, North Carolina --> 
</mirror> 
<mirror> 
    <id>jboss-public-repository-group</id> 
    <mirrorOf>central</mirrorOf> 
    <name>JBoss Public Repository Group</name> 
    <url>http://repository.jboss.org/nexus/content/groups/public</url> 
</mirror>