IDEA专业版下maven构建和普通构建 JavaWeb 项目全教程(2025年) 附pom.xml配置文件
前言
当我们刚开始接触到JavaWeb时,想要创建一个Javaweb项目,我们可以使用 IDEA 这个编辑器,现代实用集一体。对于 Javaweb 的学习,推荐使用专业版(IntelliJ IDEA Ultimate),可以方便构建我们的web项目,可以经过学生认证可以使用一年,学生认证可以自行找一下教程。
构建项目所需环境
Jdk 25
官方地址:https://www.oracle.com/cn/java/technologies/downloads/#jdk25-windows
选择对应系统,安装好后添加环境变量,终端验证:java --version
IDEA(Ultimate 可先试用一个月)
官方地址:https://www.jetbrains.com/zh-cn/idea/download/
Tomcat 10
官方地址:https://tomcat.apache.org/download-10.cgi
(下载对应的 .zip即可)
Maven (可选,推荐)
官方地址:https://maven.apache.org/download.cgi (下载 bin的 .zip)
正式开始
我们可以用Maven创建也可以不用,差别只是有无pom.xm文件。相关的博客已经很非常详细,只是没有综合起来,所以我进行了整理并补充一些内容。
一、 maven配置构建
详细博客(按顺序做就行了)
Maven本地仓库设置、修改IDEA中Maven全局默认配置
https://blog.csdn.net/helpluozhao123/article/details/122413634
IDEA创建Web项目
https://blog.csdn.net/m0_74124657/article/details/142434089
补充细节
先去配置本地Maven,更改为国内的镜像源,因为国外的下载速度很慢,会导致创建项目时下载东西慢。然后按需更改本地仓库位置。最后在idea里设置maven。
创建Maven有两种方式:
普通的Maven项目:通过(java -> maven)创建,构建系统用maven(速度更快,结构更灵活)
Maven模板创建:Maven Archetype 中使用
maven的webapp模板构建
一切jar包都在porm.xml里导入,不需要再去
WEB-INF/lib下手动导包了(这也是maven构建的便利之处)
二、不使用maven构建(只限于专业版)
社区版不支持 添加web框架,所以社区版的话只能用maven构建了。
那专业版下我们不使用maven构建,那应该怎样去创建普通javaweb呢
详细步骤:
手动添加web框架
配置Tomcat服务器
跑一下,测试连通
我自己录的idea专业版不使用maven配置视频:
https://www.bilibili.com/video/BV1q6y6BWE2K/?spm_id_from=333.1387.list.card_archive.click&vd_source=c37c98121824acbf5ea3d62e7a33db1f
三、 普通项目和Maven项目的区别
1. 目录结构差异
| 项目类型 | 目录结构 | 说明 |
|---|---|---|
| 普通 Web 项目 | 自定义结构,常见如下:WebContent/├─WEB-INF/│ ├─web.xml│ ├─lib/(手动放 jar) │ └─classes/(编译输出) └─index.jsp | 结构灵活但不统一,需手动管理 jar 包,容易出错。 |
| Maven Web 项目 | 强制标准化结构:src/main/java(Java 源码)src/main/resources(配置文件)src/main/webapp(Web 资源,等同于 WebContent)src/test/java(测试代码)target/(构建输出,含 WAR 包)pom.xml(依赖与构建配置) | 结构统一,工具链(IDE、CI)识别友好,自动管理依赖。 |
2. 依赖管理方式
| 项目类型 | 管理方式 | 特点 |
|---|---|---|
| 普通 Web 项目 | 手动下载 jar → 放入WEB-INF/lib | 易遗漏、版本冲突难排查,更新麻烦。 |
| Maven Web 项目 | 在pom.xml中声明依赖 | 自动从中央仓库下载,支持传递依赖、版本冲突解决,升级只需改版本号。 |
3. IDEA 中的区别
| 功能点 | 普通 Web 项目 | Maven Web 项目 |
|---|---|---|
| 创建向导 | 选 “Java Enterprise” → 手动勾选 Web Application | 选 “Maven” → 勾选maven-archetype-webapp模板 |
| 项目识别 | 需手动在Project Structure中指定 Web 资源目录、部署描述符等 | IDEA 自动识别src/main/webapp为 Web 根目录,无需额外配置 |
| 依赖管理 | 手动添加 jar 到lib,需同步设置Module Dependencies | 只需编辑pom.xml,IDEA 自动下载并索引依赖 |
| 构建/部署 | 需手动打 WAR 或配置 Artifacts | 右侧 Maven 面板一键package自动生成 WAR,支持自动部署到 Tomcat |
| 集成工具 | 对 CI(如 Jenkins)不友好,需自定义脚本 | 与 Jenkins、GitHub Actions 等无缝集成,标准生命周期命令如mvn clean package直接可用 |
4. 总结
Maven声明式依赖管理解决了传统项目中手动下载JAR包导致的版本冲突问题。
初学者的网课推荐
【狂神说Java】JavaWeb入门到实战
【狂神说Java】SpringBoot最新教程IDEA版通俗易懂
pom.xml文件设置(点击同步后会自动导入包)
<?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>com.lin</groupId> <artifactId>BookBorrowing</artifactId> <version>1.0-SNAPSHOT</version> <dependencies> <!-- Servlet --> <dependency> <groupId>jakarta.servlet</groupId> <!-- Tomcat 10+,必须引入 jakarta.servlet-api 才能识别 @WebServlet--> <artifactId>jakarta.servlet-api</artifactId> <version>6.0.0</version> </dependency> <!-- MySQL --> <dependency> <groupId>com.mysql</groupId> <artifactId>mysql-connector-j</artifactId> <version>8.4.0</version> </dependency> <!-- JSP --> <dependency> <groupId>jakarta.servlet.jsp</groupId> <artifactId>jakarta.servlet.jsp-api</artifactId> <version>3.1.1</version> <scope>provided</scope> </dependency> <!-- JSTL --> <dependency> <groupId>org.glassfish.web</groupId> <artifactId>jakarta.servlet.jsp.jstl</artifactId> <version>3.0.1</version> </dependency> <!-- taglibs 标签库依赖 --> <dependency> <groupId>taglibs</groupId> <artifactId>standard</artifactId> <version>1.1.2</version> </dependency> </dependencies> </project>
