如何在IntelliJ IDEA Ultimate v.2021.1.3中创建与旧版Eclipse一致目录结构的Spring MVC项目?
解决IntelliJ IDEA创建传统Spring MVC项目(匹配Eclipse旧结构)的方法
我帮你整理了几个在IntelliJ IDEA 2021.1.3里创建传统Spring MVC项目(完全匹配旧版Eclipse目录结构,包含WEB-INF、META-INF)的实用方法,都是踩过坑后验证有效的:
方法一:空白Maven项目手动搭建结构
这种方式灵活性最高,能完全复刻讲师的目录:
- 打开IDEA,选择「New Project」,左侧选「Maven」,不要勾选任何模板,点击「Next」
- 填写项目的GroupId、ArtifactId、Version,设置好项目名称和存储路径,点击「Finish」
- 手动创建核心目录:
- 在
src/main下新建webapp目录 - 在
webapp下创建WEB-INF目录,里面再建web.xml、classes、lib三个子目录(classes是Java编译输出目录,lib用于存放本地依赖,Maven管理下可以不用手动放jar,但结构要保留) - 在
webapp下创建META-INF目录
- 在
- 编辑
pom.xml,添加Spring MVC核心依赖并配置打包方式:
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>你的GroupId</groupId> <artifactId>你的ArtifactId</artifactId> <version>1.0-SNAPSHOT</version> <!-- 打包为war包,对应传统Web项目 --> <packaging>war</packaging> <dependencies> <!-- Spring MVC核心依赖 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.3.20</version><!-- 选和讲师版本匹配的Spring版本 --> </dependency> <!-- Servlet API,服务器会提供,设为provided --> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>4.0.1</version> <scope>provided</scope> </dependency> <!-- JSTL(如果用到JSP页面) --> <dependency> <groupId>javax.servlet.jsp.jstl</groupId> <artifactId>jstl-api</artifactId> <version>1.2</version> </dependency> </dependencies> <build> <plugins> <!-- 指定Java编译版本,和讲师环境一致 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.1</version> <configuration> <source>1.8</source><!-- 比如讲师用Java8 --> <target>1.8</target> </configuration> </plugin> </plugins> </build> </project>
- 配置IDEA项目输出路径:
- 打开「File > Project Structure」(快捷键
Ctrl+Alt+Shift+S) - 选择「Modules」,找到你的项目模块,切换到「Paths」标签
- 把「Output path」设置为
src/main/webapp/WEB-INF/classes,「Test output path」设置为src/test/webapp/WEB-INF/test-classes(如果有测试目录的话)
- 打开「File > Project Structure」(快捷键
- 配置Tomcat服务器:
- 右上角点击「Edit Configurations」,点击「+」选择「Tomcat Server > Local」
- 配置Tomcat安装路径,切换到「Deployment」标签,点击「+」选择「Artifact」,添加项目的war包(或exploded war),设置应用上下文路径和讲师一致
- 最后在
WEB-INF中配置web.xml和spring-servlet.xml,就可以开发Spring MVC接口了
方法二:用Maven WebApp原型快速生成
这种方式能直接生成带WEB-INF的结构,不用手动建目录:
- 打开IDEA,选择「New Project」,左侧选「Maven」,勾选「Create from archetype」,找到
org.apache.maven.archetypes:maven-archetype-webapp,点击「Next」 - 填写GroupId、ArtifactId等信息,确认Maven配置后点击「Finish」
- 此时项目已经自动生成
webapp/WEB-INF/web.xml、META-INF等目录结构,只需要在pom.xml中添加方法一里的Spring MVC依赖即可 - 后续的项目输出路径配置、Tomcat配置和方法一完全一致
注意事项
- 不要用Spring Initializr创建项目,它默认生成的是Spring Boot项目(jar包结构),和传统Spring MVC的webapp结构完全不同
- 如果Maven下载依赖慢,可以在IDEA的Maven设置里配置国内镜像,加速依赖下载
- 确保Spring版本、Java版本和讲师的环境一致,避免出现兼容性问题
内容的提问来源于stack exchange,提问作者michaelpnrs




