eclipse m2e 默认插件设置
eclipse m2e default plugins settings
环境:
Eclipse (mars)
JDK 8
Wildfly 8.2.0 Final
问题:每次创建 Maven 项目时
- 它使用 JDK 5(war 和 jar)
- 抱怨缺少 web.xml(在 war 的情况下)。
所以,每次我必须
- 打开pom.xml并在pom.xml
中包含插件配置
<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>
- 更改 eclipse 项目编译器设置以使用 1.8
- 更改 JRE 以使用 1.8
- 手动更新maven项目设置
这真是一件令人沮丧的事情。尝试
- 在 Whosebug 和 google 中找到解决方案。更接近的解决方案是 here。它有效,但对我来说还不够。
- 在 eclipse 中找到任何设置但无济于事
- 在 eclipse m2e 插件中找到任何 xml 文件设置,但无处可寻
如果有人
就太好了
- 如果我缺少某些设置请指出我
- 可以为这个棘手的问题提供任何解决方案。
请注意,我能够解决问题(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/ 用于目录文件,以及您喜欢的任何描述。
环境:
Eclipse (mars)
JDK 8
Wildfly 8.2.0 Final
问题:每次创建 Maven 项目时
- 它使用 JDK 5(war 和 jar)
- 抱怨缺少 web.xml(在 war 的情况下)。
所以,每次我必须
- 打开pom.xml并在pom.xml 中包含插件配置
<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>
- 更改 eclipse 项目编译器设置以使用 1.8
- 更改 JRE 以使用 1.8
- 手动更新maven项目设置
这真是一件令人沮丧的事情。尝试
- 在 Whosebug 和 google 中找到解决方案。更接近的解决方案是 here。它有效,但对我来说还不够。
- 在 eclipse 中找到任何设置但无济于事
- 在 eclipse m2e 插件中找到任何 xml 文件设置,但无处可寻
如果有人
就太好了- 如果我缺少某些设置请指出我
- 可以为这个棘手的问题提供任何解决方案。
请注意,我能够解决问题(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/ 用于目录文件,以及您喜欢的任何描述。