2012-01-10 33 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元数据的说明。

相关问题