2012-01-10 44 views
8

啓動Eclipse之後,Mven似乎將編譯器設置設置爲1.5,並忘記所有其他全局代碼樣式設置以確保更高的代碼質量。Maven m2e強制執行自己的編譯器設置 - 禁用

有什麼方法可以禁用此功能嗎?或者我可以在我的POM中指定所有編譯器和代碼樣式檢查?

這是非常煩人的,因爲Ecplise無法運行應用程序,因爲不允許覆蓋接口的註釋。 Java compiler - >Enable project specific settings中的勾號始終在重新啓動後設置。

+0

您正在使用哪種支票? – deterb 2012-01-11 15:22:03

+0

我將大多數編譯器檢查從忽略更改爲警告。 – 2012-01-11 17:00:51

+1

對於編譯器檢查,只需將它們設置在工作區級別。 – deterb 2012-01-11 18:49:45

回答

5

您可以在您的pom中設置編譯器源和目標(字節代碼)版本。
http://maven.apache.org/plugins/maven-compiler-plugin/examples/set-compiler-source-and-target.html

代碼風格檢查可以在POM被配置爲的行家報告的一部分,看到http://maven.apache.org/plugins/maven-checkstyle-plugin/
,但我不能肯定的整合是否會選擇這些了。

+2

如果我可以關閉將java設置搞亂的maven,我會更開心。爲什麼必須始終將該勾號放入該框中? 1.5的默認值是可怕的。 – 2012-01-10 20:19:59

+3

@FranzKafka,Maven專注於提供兼容的構建之一。如果您嘗試通過命令行或CI工具構建應用程序,他們會嘗試在1.5上構建它,因爲這是Maven的默認設置。如果您指定源/目標信息,m2e將使用正確的設置。 – deterb 2012-01-11 15:16:02

+0

沒關係,雖然它也改變了Eclipse代碼風格檢查,但它們看似沒有改變。 – 2012-01-11 16:59:45

4

最簡單的方法是添加到您的POM

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

default maven compiler setting另一個解決方案。

+0

爲了補充這一點,請查看http://code.google.com/p/m2e-extensions/wiki/HomePage?tm=6,它提供了一些額外的質量控制插件,可以根據您的pom添加配置。 – deterb 2012-01-11 15:29:00

3

如果您不希望m2e eclipse插件與您的項目設置有關,請使用maven-eclipse-plugin's eclipse goal生成您的eclipse設置。

它會根據你的pom中的內容生成你的eclipse設置,所以你仍然需要在你的pom中設置maven編譯器設置,如果你不想每次重新生成時都設置它們eclipse項目文件,當你更新你的pom。

如果您看一下該插件的詳細配置,有關於如何生成各種eclipse元數據的說明。