当前位置: 首页 > news >正文

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配置构建

详细博客(按顺序做就行了)

  1. Maven本地仓库设置、修改IDEA中Maven全局默认配置

    https://blog.csdn.net/helpluozhao123/article/details/122413634

  2. IDEA创建Web项目

    https://blog.csdn.net/m0_74124657/article/details/142434089

补充细节

  1. 先去配置本地Maven,更改为国内的镜像源,因为国外的下载速度很慢,会导致创建项目时下载东西慢。然后按需更改本地仓库位置。最后在idea里设置maven。

  2. 创建Maven有两种方式:

    • 普通的Maven项目:通过(java -> maven)创建,构建系统用maven(速度更快,结构更灵活)

    • Maven模板创建:Maven Archetype 中使用maven的webapp模板构建

  3. 一切jar包都在porm.xml里导入,不需要再去WEB-INF/lib下手动导包了(这也是maven构建的便利之处)

二、不使用maven构建(只限于专业版)

社区版不支持 添加web框架,所以社区版的话只能用maven构建了。

那专业版下我们不使用maven构建,那应该怎样去创建普通javaweb呢

详细步骤:

  1. 手动添加web框架

  2. 配置Tomcat服务器

  3. 跑一下,测试连通

我自己录的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包导致的版本冲突问题。

初学者的网课推荐

  1. 【狂神说Java】JavaWeb入门到实战

  2. 【狂神说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>
http://www.jsqmd.com/news/853028/

相关文章:

  • Ubuntu22.04系统安装英伟达显卡驱动
  • Windows 应用自动上架 Microsoft Store 的自动化实践
  • 外贸自建站多少钱 2026年外贸独立站建设费用全解析 - 麦麦唛
  • 医疗器械厂家可以定制中频治疗仪款式吗 - 舒雯文化
  • 使用 MobaXterm 打开第多个窗口(SSH渠道)
  • 三星固件下载终极指南:Bifrost跨平台工具免费获取官方系统
  • 2026年视频号视频怎么下载到手机相册?苹果安卓快速保存方法全盘点 - 科技热点发布
  • 哪个牌子的 pos 刷卡机靠谱?个人刷卡机正规机构大额刷卡,无年费对比测评 - 资讯速览
  • 2026开窗包装盒厂家推荐:大健康定制领域标杆企业测评 - 资讯速览
  • 2026年在线一键去水印工具推荐|好用的去水印工具评测对比 - 科技热点发布
  • 2026 年SATA连接器十大品牌排名及解析 - 十大品牌榜
  • 2026年国内做阴极保护腐蚀检测的厂家哪个好?从六大应用场景看武汉科思特仪器的全场景覆盖能力 - 品牌评测官
  • CubeCL 核心架构揭秘:基于立方体拓扑的跨平台计算模型
  • KFR数学函数深度解析:超越标准库的高性能实现
  • 协作焊接机器人研发 登兰普筑牢焊接自动化技术根基 - 深度智识库
  • 2026年去水印工具推荐:6大免费去水印工具详测,这款处理速度快到离谱 - 科技热点发布
  • 破解企业办公成本困局:打印机出租领域LITE轻办公方法论如何实现降本增效? - 资讯速览
  • 我的思维模型 - 7. 系统学篇
  • 深入理解DocQuery架构:LayoutLM模型与零样本学习原理
  • 通过Taotoken的API Key管理与审计日志功能加强企业内部安全管控
  • 去丽江吃云南菜别只看网红榜,选对店才不踩雷 - 资讯速览
  • 在K8S环境里部署大模型
  • 别再只用基本触发!Vivado ILA高级触发器模式实战:用状态机精准捕获复杂时序Bug
  • 2026 年音频连接器十大品牌排名及解析 - 十大品牌榜
  • 数据中心液冷厂家哪家好? 川润股份:国内稀缺的“算力液冷+绿色能源”全链条闭环服务商 - 资讯速览
  • LaTeX新手避坑指南:为什么你的PDF没有书签?hyperref宏包配置详解
  • FPGA DDR3实战:用MIG核把256MB内存变成高速数据缓存(附Verilog状态机代码)
  • 从账单明细看taotoken按token计费模式的清晰度与灵活性
  • 2026 年 AI赋能 十大品牌排名及解析 - 十大品牌榜
  • 2026兴城市本地人必选的瓷砖空鼓专业维修公司TOP5推荐!卫生间空鼓翘边,厨房空鼓翘边,客厅空鼓翘边,全天响应,免费上门,5月专业瓷砖空鼓修复公司持证上岗师傅排名最新深度调研方案) - 一休修缮