eclipse创建maven的web项目

工具版本eclipse:Version: Neon.3 Release (4.6.3).java jdk1.8版本.apache-maven-3.5.2

Jdkmaven的安装配置过程,自行百度。

1 新建一个maven项目,如果没有的话到other里面去找.

2 使用默认的工作目录,就是代码存放的具体位置,不要勾选“创建一个简单的项目”

3 选择Archetype项目为webapp,这一步注意一下,默认的是maven-archetype-quickstart,我们选择maven-archetype-webapp

4 填写Group id Artifact Id,根据maven的规范,groupId应该是实际项目名,artifactIdmaven项目名。

5 Java Resources目录下添加

src/main/java

src/test/java 

src/test/resources

右键项目根目录点击New -> Source Folder

建出这三个文件夹。注意不是建普通的Folder,而是Source Folder

项目或者文件加上右键 new  sourceFolder,正常情况下是没有问题的

如果出现无法添加src/main/javasource folder的情况,需要进入项目的build path里面,source这个tab页,选中这两个missingsource folder, 然后点击右侧的 Remove。这样就可以正常添加了。

6 修改system libraties.右键项目属性后,点击Java Build Path-->Libraries-->JRE System Library[J2SE-1.5]-->Edit..-->Workspace default JRE.

7 更改class路径

右键项目,Java Build Path -> Source
下面应该有4个文件夹。src/main/javasrc/main/resourcessrc/test/java src/test/resources
双击每个文件夹的Output folder,选择路径。
src/main/javasrc/main/resources,选择target/classes;
src/test/java src/test/resources, 选择target/test-classes;
选上Allow output folders for source folders.(如果没有选上的话)

8 修改project Facets

右键属性 project Facets,想要切换成3.1发现报错出现Cannot change version of project facet Dynamic web module to 3.1

这是因为新建项目的时候用了maven-artchetype-webapp,由于这个catalog比较老,用的servlet还是2.3

9 修改web.xml文件

src--main--webapp--WEB-INF--web.xml,更新内容为

<?xml version="1.0" encoding="UTF-8"?>

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1">

  <display-name>Archetype Created Web Application</display-name>

  </web-app>

10 修改项目下.settings目录下的3个文件

Windows--Show View--Navigator,然后在左侧的Navigator中打开项目,在.settings目录下,修改

org.eclipse.jdt.core.prefs

org.eclipse.wst.common.component

org.eclipse.wst.common.project.facet.core.xml

这三个文件,打开后将所有的1.5修改为1.82.3修改为3.1,然后保存。

这时候project Facets就可以正常修改了。

11 更新pom文件

如果此时编译的话,会出现Eclipse Maven 编译错误 Dynamic Web Module 3.1 requires Java 1.6 or newer 这是由于你的 Maven 编译级别是 jdk1.5 或以下,而你导入了 jdk1.6 以上的依赖包:查看 Eclipse Navigator 视图下该项目的 .classpath 文件:

  1. <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5">  
  2. <attributes>  
  3. <attribute name="maven.pomderived" value="true"/>  
  4. </attributes>  
  5. </classpathentry>  

解决办法:
使用 maven-compiler-plugin maven 编译级别改为 jdk1.6 以上: 

  1. <build>  
  2. <plugins>  
  3. <!-- define the project compile level -->  
  4. <plugin>  
  5. <groupId>org.apache.maven.plugins</groupId>  
  6. <artifactId>maven-compiler-plugin</artifactId>  
  7. <version>2.3.2</version>  
  8. <configuration>  
  9. <source>1.8</source>  
  10. <target>1.8</target>  
  11. </configuration>  
  12. </plugin>  
  13. </plugins>  
  14. </build>  

12继续编译,没有错误了,大功告成。

参考网址

https://www.cnblogs.com/amoyzhu/p/7811570.html

http://blog.csdn.net/steveguoshao/article/details/38414145

http://blog.csdn.net/defonds/article/details/47974269

原文地址:https://www.cnblogs.com/coodream2009/p/8317510.html