eclipse m2e 默认插件设置

eclipse m2e default plugins settings

环境:

Eclipse (mars)
JDK 8 
Wildfly 8.2.0 Final

问题:每次创建 Maven 项目时

所以,每次我必须

  1. 打开pom.xml并在pom.xml
  2. 中包含插件配置

  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-war-plugin</artifactId>
          <version>2.6</version>
          <configuration>
            <failOnMissingWebXml>false</failOnMissingWebXml>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.3</version>
          <configuration>
            <source>1.8</source>
            <target>1.8</target>
          </configuration>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>

  1. 更改 eclipse 项目编译器设置以使用 1.8
  2. 更改 JRE 以使用 1.8
  3. 手动更新maven项目设置

这真是一件令人沮丧的事情。尝试

如果有人

就太好了

请注意,我能够解决问题(eclipse 错误和 m2e 错误),但我正在寻找更聪明的解决方案,以避免每次都做些琐碎的工作!

提前致谢, 拉凯什

您看到的默认设置来自默认的 maven 插件设置。

  • maven-compiler-plugin 目标 java 1.5
  • maven-war-插件默认有 failOnMissingWarXml=true

m2e 的目标是尽可能接近实际 Maven CLI 构建的结果。因此,如果您希望您的项目在命令行或 CI 服务器中构建,您 需要 具有这些 maven 插件设置。

在您的工作流程中,您实际上不需要执行步骤#2 和#3。执行 Maven > 更新项目配置(或 Ctr+Alt+F5),将解决这个问题。您还可以在首选项 > Maven 中启用自动项目配置更新(自 m2e 1.6 起),因此您所要做的就是更改 pom 并保存文件。

但是,如果您想在项目创建期间对这些 Maven 设置进行更多控制,您有 2 个选择:

  • 让你的新Maven项目继承一个父pom,它有你想要的maven-compiler-plugin和maven-war-plugin设置
  • 先创建一个新的动态 Web 项目,而不是创建一个新的 Maven 项目。您可以在该 Eclipse 向导中更改默认的 Java 和 Web Facets 然后将默认的 src 文件夹更改为 src/main/java,并将默认的 WebContent 文件夹更改为 src/main/webapp。创建项目后,您可以将其转换为 Maven 项目(右键单击项目,配置 > 转换为 Maven...)。给它适当的项目坐标,当你点击完成时,生成的 Maven pom.xml 将映射到原始 Eclipse 设置的 Maven 插件设置。

第三种解决方案是从现有的 Maven 原型创建项目。您可以尝试使用 Maven Central 目录中的 wildfly-javaee7-webapp-blank-archetype 创建一个 JavaEE 7 Web 项目,例如((http://search.maven.org/#artifactdetails%7Corg.wildfly.archetype%7Cwildfly-javaee7-webapp-blank-archetype%7C8.2.0.Final%7Cmaven-archetype). Using JBDS or JBoss Tools Maven integration (http://tools.jboss.org) you'll have access to the Maven Central Archetype catalog by default. Else, you can add it yourself in Preferences > Maven > Archetypes > Add Remote Catalog... Use http://repo1.maven.org/maven2/ 用于目录文件,以及您喜欢的任何描述。