1. 新建Spring工程
2. 添加Maven框架
- 右键项目名
- 选择
Add Framework Support
- 选择maven
- 工程中增加
pom.xml
文件,此时mvc工程中lib包可删除(后续还需要通过idea设置,将pom中引入的jar包添加到工程)
3. 配置tomcat
- 点加号,
Add New Configuration
- 选择
Tomcat Server
-> Local - 选择本地tomcat
- 添加当前工程到tomcat(切记)
- 添加当前工程到tomcat(切记) - 示例图
- 点击
Server
右侧的Deployment
- 点加号, 选择
Artifact
- Ok保存
4.添加pom中引入的jar包到工程
2019-06-20 修订,如果修改pom.xml中<packaging>war</packaging>,则不用每次都手动添加jar包到lib目录
PS: maven总是会任务/src下resources为资源目录,而在Spring MVC中应该将WEB-INF的父层当做资源目录
如果没有这一步,工程也许能启动。但Tomcat Localhsot Log会提示
java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1928)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1771)
at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:536)
at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:518)
at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:148)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1127)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1066)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5409)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5707)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:1017)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:993)
File -> Project Structure
Project Seeting -> Artifacts
此时OutPut Layout下工程结构只有classes
,没有lib
- 右键点击右侧窗口中项目名,选择
Put Into Output Root
- 展开WEB-INF,有classes与lib,ok保存
- 记得重启tomcat