2014-07-03 29 views
3

我一直在尋找一種解決方案來處理我的Maven和Eclipse JRE版本問題,即使在我想要改變時,JRE 1.5也被強制在Eclipse項目中。Maven和Java版本設置 - 哪個解決方案更好?

在我的搜索過程中,我注意到似乎有兩種不同的解決方案。第一個解決方案建議採用類似下面

<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> 

的片段中,第二個解決方案建議只使用兩個屬性:

<properties> 
    <maven.compiler.source>1.6</maven.compiler.source> 
    <maven.compiler.target>1.6</maven.compiler.target> 
</properties> 

爲什麼是兩種可能的解決方案,以及爲什麼它們有什麼不同?

+0

您的Eclipse項目Java BuildPath中的JavaCompiler設置爲1.8? – p1nkrock

+0

@ p1nkrock:這只是從不同來源複製/粘貼的。我其實想用1.6。 – wilx

回答

3

有將其指定(定義在你的pom文件<plugin>配置)很長的路要走,這是配置插件的常用方式,並且有一個使用用戶屬性的簡寫。

正如你可以在文檔中找到。

Java編譯器的源參數。默認值是:1.5。

用戶屬性是:maven.compiler.source。

如果你只想指定源和目標水平,那麼就沒有區別,但<plugin>配置也允許你指定其他配置設置,限制了編譯器插件的版本等

+0

添加到評論。每個pom都會擴展由maven定義的基礎pom,從而形成Effective-pom。基礎POM具有這些屬性,因此只需設置這些屬性就足以滿足您的目標只需設置正確的編譯器版本。如果任何額外的配置被設置爲忽略測試編譯等,那麼你可以使用第一個選項,其中整個插件包含在你的pom中。 – p1nkrock