eclipse+maven新建springMvc项目-流程+排错

记录思路及出现的错误。

1. new maven project

在此页面选择web-app,其他页面默认即可,输入groupId和artifactId(项目名,这里以输入HelloSpringMvc为例)。
在这里插入图片描述

2. 生成HelloSpringMvc项目,开始配置

(1)生成项目后,可能项目会在index.jsp页面报错,也有可能不报错,我也不知道为什么。当错误出现时,会提示:The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path,这个问题本质上是缺少"javax.servlet.http.HttpServlet",而这个东西是应该Tomcat容器提供。如果是SpringBoot项目,在修改完pom.xml文件后,由于SpringBoot内置Tomcat容器,问题即可自动消失。这里我们是建的spring-mvc项目,有两种解决方法:

  • 在pom.xml中添加jar包依赖:
<dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>3.1.0</version>
</dependency>
  • 配置tomcat
    Build Path—>Add library—>Server Runtime,选择本机所安装的tomcat。
    在这里插入图片描述
    (2)修改web版本和jdk版本
    因为eclipse默认新建的是2.3版本的web,但这个版本比较老了,而且2.3版本默认是不支持el表达式的。所以我们这里修改为3.1版本的。
    步骤:
  • 打开Projects facets,取消勾选Dynamic Web Module,重新选择jdk版本为1.8---->Apply;
  • 勾选Dynamic Web Module 3.1,点击下图中的:further configuration…,出现一个新的页面,勾选generate web.xml deployment descriptor,生成当前3.1版本的web.xml。
    在这里插入图片描述
  • 将新生成的webContent文件夹下的META-INF复制-粘贴至src\main\webapp文件夹下
  • 复制webContent\WEB-INF文件夹下的web.xml的内容,粘贴至src\main\webapp\WEB-INF\web.xml中。

且要修改jdk版本,以和本机安装的jdk匹配(三个地方的jdk版本要一致preferences–>java–>compiler,properties–>java compiler, properties–>Projects Facets)。
步骤:

  • 以上三处的jdk版本修改
  • pom.xml中添加:
<build>
    <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.7.0</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
        </plugins>
  </build>

(3)完善maven目录结构

  • 项目名右键,点击 build path–>Configure build path–>Source,会看到提示哪个文件夹缺失,缺失的在所提示的目录下新建folder即可。一般来说,需要在src\main下新建java文件夹,在src文件夹下新建test文件夹。
    在这里插入图片描述
  • 修改Deployment Assembly 属性,删除部署时不需要包含的目录。最终的结果如图所示。
    在这里插入图片描述
3.

重要的一步:maven -> update project。可以看到项目不报错了,Spring mvc demo初始配置完成,接下来就需要配置spring mvc框架了。

4. windows的意外

前三步在mac上完成的,结果在windows系统上第一步就出错,当时忽略了此错误(maven compiler plugin:3.1:testCompile error...),所有步骤结束后,update出现错误Cannot nest 'webapp/src/main/resources/' inside 'webapp/src/main' To enable the nesting exclude
后来发现是在第三步出现了问题,我并没有把build path–>Configure build path–>Source缺失的文件夹加入进去。
填坑参考:
https://blog.csdn.net/feinifi/article/details/86512782

  • 在build path–>Configure build path–>Source下remove 文件夹***/src/main
  • 点击Add Folder,选中java和resources。

别的报错
web.xml is missing and is set to true
参考:https://blog.csdn.net/sinat_22911279/article/details/77454139

 <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-war-plugin</artifactId>
        <version>2.6</version>
        <configuration>
               <failOnMissingWebXml>false</failOnMissingWebXml>
        </configuration>
</plugin>

spring的相关配置见下一篇

(点击Help–>Install–>new software,然后用 http://dist.springsource.com/release/TOOLS/update/e4.X/ (X表示Eclipse的版本号))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值