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

使用Maven创建一个web项目

一、步骤 1:Maven 环境配置

  1. 下载 Maven下载地址:https://archive.apache.org/dist/maven/maven-3/3.6.3/binaries/选择 apache-maven-3.6.3-bin.zip 下载,解压到固定目录(如 D:\apache-maven-3.6.3)
  2. 配置系统环境变量

表格

变量名变量值
MAVEN_HOMED:\apache-maven-3.6.3
PATH%MAVEN_HOME%\bin
  1. 验证配置打开 cmd 命令行,输入:

bash

运行

mvn -v

✅ 成功标志:显示 Apache Maven 3.6.3 版本信息,且 JDK 版本为 1.8。

  1. 配置 Maven 本地仓库打开 D:\apache-maven-3.6.3\conf\settings.xml找到 <localRepository> 标签,修改为自定义仓库路径(如 D:\maven-repo):

xml

<localRepository>D:\maven-repo</localRepository>

配置阿里云镜像:

xml

<mirrors> <mirror> <id>aliyunmaven</id> <mirrorOf>central</mirrorOf> <url>https://maven.aliyun.com/repository/public</url> </mirror> </mirrors>

二、步骤 2:IDEA 配置 Maven

打开 IDEA → File → Settings(Windows)/ Preferences(Mac)搜索 Build, Execution, Deployment → Build Tools → Maven配置如下:Maven home directory: 选择 D:\apache-maven-3.6.3User settings file: 选择 D:\apache-maven-3.6.3\conf\settings.xmlLocal repository: 自动识别为 D:\maven-repo点击 Apply → OK

三、步骤 3:IDEA 创建 Maven Web 项目

  1. 新建项目IDEA → File → New → Project左侧选择 Maven → 勾选 Create from archetype选择 org.apache.maven.archetypes:maven-archetype-webapp点击 Next
  2. 填写项目坐标

表格

字段填写值
GroupIdcn.js.ccit
ArtifactIdxmall
Version1.0-SNAPSHOT

点击 Next3. 确认 Maven 配置确认 Maven home path、User settings file、Local repository 均为步骤 2 配置的路径点击 Finish4. 等待项目初始化IDEA 会自动下载 Web 项目依赖,首次下载可能需要 1-2 分钟,耐心等待直到项目结构加载完成。

四、步骤 4:完善项目结构

默认生成的项目缺少 Java 源码目录,手动补全:在 src/main 下新建目录:java(右键 → New → Directory)右键 java 目录 → Mark Directory as → Sources Root同理,新建 src/main/resources 目录,标记为 Resources Root✅ 最终项目结构:

plaintext

xmall/ ├── src/ │ ├── main/ │ │ ├── java/ │ │ ├── resources/ │ │ └── webapp/ │ │ ├── index.jsp │ │ └── WEB-INF/ │ │ └── web.xml └── pom.xml

五、步骤 5:配置 pom.xml

替换默认的 pom.xml,添加核心依赖(Servlet、JSTL):

xml

<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/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>cn.js.ccit</groupId> <artifactId>xmall</artifactId> <packaging>war</packaging> <version>1.0-SNAPSHOT</version> <name>xmall Maven Webapp</name> <url>http://maven.apache.org</url> <properties> <maven.compiler.source>8</maven.compiler.source> <maven.compiler.target>8</maven.compiler.target> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <!-- Servlet API --> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>4.0.1</version> <scope>provided</scope> </dependency> <!-- JSTL标签库 --> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> </dependencies> <build> <finalName>xmall</finalName> <plugins> <!-- Tomcat插件 --> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> <configuration> <port>8080</port> <path>/xmall</path> </configuration> </plugin> </plugins> </build> </project>

六、步骤 6:配置 Tomcat

  1. 添加 Tomcat 服务器IDEA 右上角 → Add Configuration点击 + → 选择 Tomcat Server → Local配置 Tomcat 路径:Application server 选择你本地的 Tomcat 9.0.58点击 Apply
  2. 部署项目到 Tomcat在 Tomcat 配置页面 → 选择 Deployment → 点击 + → 选择 Artifact选择 xmall:war explodedApplication context 填写 /xmall点击 Apply → OK

七、步骤 7:运行项目

点击 IDEA 右上角的 Run 按钮(绿色三角)等待 Tomcat 启动,控制台显示 Server startup in xxx ms 即成功打开浏览器访问:http://localhost:8080/xmall✅ 成功标志:页面显示 Hello World!

八、步骤 8:打包发布

  1. 打包成 WAR 包IDEA → Maven 面板(右侧)→ 展开 xmall → Lifecycle双击 clean → 再双击 package打包完成后,WAR 包生成在:xmall/target/xmall.war
  2. 发布到 Tomcat把 xmall.war 复制到 Tomcat 的 webapps 目录(如 D:\apache-tomcat-9.0.58\webapps)启动 Tomcat(运行 bin/startup.bat)Tomcat 会自动解压 WAR 包,访问:http://localhost:8080/xmall 即可

总结

  1. 核心配置:Maven 的本地仓库、阿里云镜像、Tomcat 插件是核心配置,缺一不可。
  2. 验证标准:启动 Tomcat 后访问 http://localhost:8080/xmall 能看到 Hello World!,打包后 WAR 包能在 Tomcat 的 webapps 目录正常运行,即为成功。
http://www.jsqmd.com/news/487030/

相关文章:

  • 分享一个【连续下跌企稳反弹】指标——在暴跌后的混沌期,精准识别那些即将走牛的黄金坑
  • 基于扩展卡尔曼滤波的车辆质量与道路坡度估计模型(Matlab Simulink 2019+)
  • VMware Workstation 安装 CentOS 7 64位 完整教程
  • 8-Kotlin高阶语法-高阶函数与Lambda
  • Escrcpy - 免费开源!电脑控制安卓手机的投屏工具 (屏幕镜像 / 无线 / AI 自动化 / 录屏)
  • 搭建虚拟机环境Linux
  • OpenClaw这么火了,还需要学信奥赛吗?
  • SQL Server 从入门到实战:基础操作与 T-SQL 查询全解析
  • AI隧道施工巡检 施工作业安全监测数据集 施工设备智能识别 工地违规行为自动预警识别 深度学习YOLO格式+VOC数据集 第10562期
  • COMSOL 5.6运用PDE方程模拟蠕变与水作用对煤柱坝体渗透率演化过程探究
  • 0614-出租车(起步价+单价)-系统设计(51+SEG+DS1302+KEY7)
  • 基于javaweb和mysql的springboot前台后台玩具商城系统(java+ssm+springboot+html+thymeleaf+maven+mysql)
  • Java七大热门技术框架源码解析(完结)
  • 算法设计与分析里面的渐进符号难以理解
  • 2026权威代运营排行
  • 谷歌发布 Gemini Embedding 2:首个原生全模态向量模型,打通音视频与图文!
  • 紅豆奶霜體字ttf体档
  • Spring-Profile与部署说明
  • 测试文章发布 - 编辑版本1773572315724
  • OpenClaw+FunASR识别飞书发来的音频文件
  • Kotlin协程异常捕获:别让try-catch“翻车”了!
  • C#学习笔记——委托
  • Ai8051 独立按键控制LED实验
  • 福宝的「熵减日记」:从「记忆混乱」到「响应如飞」的72小时进化史 [特殊字符][特殊字符]
  • Thinkphp和Laravel框架都支持基于微信小程序的公开课选课打卡管理系统的设计与实现-
  • 2026年企业健身房规划方案,打造健康办公新生态
  • AC 双链路备份与冷热备核心知识点总结
  • qt PlotJuggler
  • 对量化交易未来的思考
  • 老品牌为什么在 AI 推荐里比较里靠后:一次公开表达收口排查