【问题标题】:Maven m2e enforces its own compiler settings - disableMaven m2e 强制执行自己的编译器设置 - 禁用
【发布时间】:2012-02-07 04:13:58
【问题描述】:

启动 Eclipse 后,Mven 似乎将编译器设置设置为 1.5,并忘记了所有其他全局代码样式设置,以确保更高的代码质量。

有什么方法可以禁用此功能吗?或者我可以在我的 POM 中指定所有编译器和代码样式检查吗?

这很烦人,因为 Ecplise 无法运行应用程序,因为不允许对接口进行覆盖注释。 Java compiler -> Enable project specific settings 中的勾号总是在重启后设置。

【问题讨论】:

  • 我将大多数编译器检查从忽略更改为警告。
  • 对于编译器检查,只需将它们设置在工作区级别。

标签: java eclipse maven m2eclipse m2e


【解决方案1】:

如果您不希望 m2e eclipse 插件主动干扰您的项目设置,请使用 maven-eclipse-plugin's eclipse goal 生成您的 eclipse 设置。

它会根据你的 pom 中的内容生成你的 eclipse 设置,所以如果你不想在每次重新生成你的 eclipse 时都设置它们,你仍然需要在你的 pom 中设置 maven 编译器设置更新 pom 时的项目文件。

如果您查看该插件的详细配置,就会发现如何生成各种 eclipse 元数据的说明。

【讨论】:

    【解决方案2】:

    您可以在 pom 中设置编译器源和目标(字节码)版本。
    http://maven.apache.org/plugins/maven-compiler-plugin/examples/set-compiler-source-and-target.html

    可以在 pom 中配置代码样式检查作为 maven 报告的一部分,请参阅 http://maven.apache.org/plugins/maven-checkstyle-plugin/
    但我不确定集成是否会支持这些。

    【讨论】:

    • 如果我可以关闭 maven 来弄乱我的 java 设置,我会更开心。为什么必须总是把那个打勾放在那个盒子里?默认值为 1.5 很糟糕。
    • @FranzKafka,Maven 专注于提供的一件事是兼容的构建。如果您尝试通过命令行或 CI 工具构建应用程序,他们将尝试在 1.5 上构建它,因为这是当前 Maven 的默认设置。如果您指定源/目标信息,m2e 将使用正确的设置。
    • 没关系,我虽然也改变了 Eclipse 代码样式检查,但是貌似没有改动。
    【解决方案3】:

    最简单的方法是添加到你的 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

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-28
    • 1970-01-01
    • 1970-01-01
    • 2016-10-26
    • 2012-06-05
    • 2016-09-16
    相关资源
    最近更新 更多