2012-11-06 70 views
18

首先,我使用的是Ubuntu 12.04,帶有嵌入式maven 3.0.4(m2eclipse)的Eclipse Juno,我必須在一個從SVN存儲庫獲得的遺留項目中工作。爲什麼Maven更改Eclipse項目首選項?

我被困在Maven和Eclipse的一種配置問題中。

我第一次做了一個Maven> Update項目,並且收到了「Maven Java EE配置問題」類型的「未知錯誤」。我檢查了我的項目的屬性,並且我意識到java合規性級別設置爲1.5,但我激活了1.6 JRE。那麼,我已經更改爲1.6版本(在Java Facet中),但是當我執行Maven> Update項目時,我的項目屬性恢復爲默認值(a.k.a. 1.5版本),並且未知錯誤仍然存​​在。

我的pom.xml文件似乎沒問題,我也嘗試使用空pom.xml(僅限於modelVersion,groupId,artifactId,版本,名稱和url標記)更新項目,並且我總是得到相同的錯誤。

我真的被卡住了。有人有線索?

+6

這是一個已知的Maven的 「功能」。除非您在POM中明確指定版本,否則默認編譯器源/目標版本爲1.5。 Eclipse中Maven集成的工作方式是,它(重新)從POM生成'.project','.classpath'和'.settings',所以除非POM指定了正確的JDK版本,否則每次都會重置爲1.5您更新項目配置。 @ maximdim的答案在下面是正確的。 –

+0

好吧,我在想1.6是默認版本。此問題已解決,但Maven Java EE配置問題仍然存在 – ilazgo

+0

最後,我解決了刪除.settings文件夾中的問題 – ilazgo

回答

35

嘗試在pom.xml中指定的JDK版本:

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

然後執行 '更新項目配置'

+0

好的,我錯過了源標籤。這個技巧解決了Java編譯器的版本問題。但「Maven Java EE配置問題」類型的「未知錯誤」類型仍然存在。我怎麼知道錯誤在哪裏? – ilazgo

+1

好吧,我幾乎失去了一整天,但我終於解決了我的問題。解?簡單:@maximdim的響應和從傳統項目中刪除.settings文件夾。 – ilazgo