You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在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.xmlclasseslib三个子目录(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(如果有测试目录的话)
  • 配置Tomcat服务器:
    • 右上角点击「Edit Configurations」,点击「+」选择「Tomcat Server > Local」
    • 配置Tomcat安装路径,切换到「Deployment」标签,点击「+」选择「Artifact」,添加项目的war包(或exploded war),设置应用上下文路径和讲师一致
  • 最后在WEB-INF中配置web.xmlspring-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.xmlMETA-INF等目录结构,只需要在pom.xml中添加方法一里的Spring MVC依赖即可
  • 后续的项目输出路径配置、Tomcat配置和方法一完全一致

注意事项

  • 不要用Spring Initializr创建项目,它默认生成的是Spring Boot项目(jar包结构),和传统Spring MVC的webapp结构完全不同
  • 如果Maven下载依赖慢,可以在IDEA的Maven设置里配置国内镜像,加速依赖下载
  • 确保Spring版本、Java版本和讲师的环境一致,避免出现兼容性问题

内容的提问来源于stack exchange,提问作者michaelpnrs

火山引擎 最新活动