2012-05-16 73 views
1

下載神器Maven的編譯器插件,我創建了一個Maven項目,並希望Java編譯器版本更改爲1.6,所以我增加了FF:無法從倉庫

<build> 
    <plugins> 
     <plugin> 
      <artifactId>org.apache.maven.plugins</artifactId> 
      <groupId>maven-compiler-plugin</groupId> 
      <version>2.3.2</version> 
      <configuration> 
       <source>1.6</source> 
       <target>1.6</target> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 

當我運行任何行家日食中的目標,它的工作原理。但是當我在終端運行時,我得到了錯誤:

Project ID: maven-compiler-plugin:org.apache.maven.plugins 

Reason: POM 'maven-compiler-plugin:org.apache.maven.plugins' not found in repository: Unable to download the artifact from any repository 

    maven-compiler-plugin:org.apache.maven.plugins:pom:2.3.2 

from the specified remote repositories: 
    central (http://repo1.maven.org/maven2), 
    apache.repo (https://repository.apache.org/content/repositories/releases), 
    jboss.repo.deprecated (https://repository.jboss.org/nexus/content/repositories/deprecated), 

任何想法是什麼原因造成這個問題?

我能夠通過更新到maven3來解決這個問題。但我現在的問題是,雖然我指定maven-compiler-plugin版本爲2.4,但我仍然在日誌中看到2.3.2。

回答

0

從存儲庫安裝maven 3並在/ etc/environment中添加maven3 home之後,我忘了做的是重啓我的機器,然後運行。

我的/ etc /環境現在看起來像:

M3_HOME="/home/edward/java/apache/maven-3.0.4" 
MAVEN_HOME="/home/edward/java/apache/maven-3.0.4" 
M3="home/edward/java/apache/maven-3.0.4" 

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/edward/java/apache/maven-3.0.4" 

這裏是我如何卸載和安裝Maven 3: http://czetsuya-tech.blogspot.com/2012/05/how-to-install-maven-3-in-ubuntu-1110.html

+0

安裝Maven後,您不需要重新啓動計算機。 – Tristan

2

如果Eclipse和命令行創建不同的結果,那麼它們使用不同的本地Maven存儲庫。缺省值是$HOME/.m2/repository/。所以第一步是找出哪一個(命令行或Eclipse)使用不同的本地緩存以及爲什麼。

下一個問題是爲什麼下載失敗。通常的原因是Maven嘗試下載並出現錯誤。 Maven會記住這個錯誤,不要再試一次。要強制它再次嘗試,您必須刪除文件夾$M2_REPO/repository/org/apache/maven/plugins/maven-compiler-plugin/2.3.2/

最後,當您配置2.4但在日誌中看到2.3.2時,您要麼爲構建的POM中的一個構建錯誤的項目,而要覆蓋編譯器插件的版本。

要避免的問題是這樣,使用父POM,你把所有的版本dependencyManagement(依賴項)和pluginManagement(用於插件)的元素。這樣,您將永遠不必在模塊POM或從其中繼承的其他項目中定義一個版本。

3

您的groupId和artifactId是相反的。

+0

的順序並不重要,我認爲。 – czetsuya

+1

這不是他們列出的順序是問題。這就是你在groupID下有artifcatID列表,反之亦然。您需要切換值。 –