02-IDEA创建Maven项目

参考资料:
- 菜鸟教程:https://www.runoob.com/maven/maven-tutorial.html
- 极客学院:https://wiki.jikexueyuan.com/project/maven/
1.1 在Idea中关联Maven
| 在全局设置中,关联Maven |
|---|
![]() |
1.2 创建Maven项目
1.2.1 新建普通/web项目
| 新建普通 Maven 项目,要选择 Maven 选项 |
|---|
![]() |
如需新建 web 项目,勾选 Cteate from archetype(从原型创建) > 选择 maven-archetype-webapp |
|---|
![]() |
1.2.2 指定项目名
GAV 坐标

1.2.3 项目位置
| 项目位置 |
|---|
![]() |
1.2.4 项目结构
- src/main/java 存放源代码,建包,放项目中代码(service,dao,User,….)
- src/main/resources 书写配置文件,项目中的配置文件(jdbc.properties)
不需拼路径可直接被读取 - src/test/java 书写测试代码,项目中测试案例代码
- src/test/resources 书写测试案例相关配置文件
手动创建文件夹时,选择即可 - 根目录/pom.xml (project object model) maven项目核心文件,其中定义项目构建方式,声明依赖等
注意:
项目中的建包,建类,执行,都和普通项目无差异
| 项目结构(test 目录下添加 resources + 设置其文件类型) |
|---|
![]() ![]() ![]() ![]() |
1.2.5 项目类型
根据项目类型,在
pom.xml中做出对应配置,添加配置:<packaging>war/jar</packaging>
1 | |
1.3 导入依赖jar
建好项目后,需要导入需要的jar,要通过坐标(GAV)
每个构件都有自己的坐标 =
GroupId +ArtifactId +Version =项目标识+项目名+ 版本号在maven项目中只需要配置坐标,maven便会自动加载对应依赖。删除坐标则会移除依赖
1.3.1 查找依赖
依赖查找服务:https://mvnrepository.com/ ,获得依赖的坐标,在maven项目中导入。
| 查找依赖坐标 |
|---|
![]() |
![]() |
1.3.2 导入依赖
在项目的 pom 文件中,增加依赖。
注意:IDEA中新的项目需要 打开自动导入【
Enable-Auto-Import】,根据依赖自动下载 jar 包到本地仓库并关联到 IDEA 中的当前项目。
| 在项目的pom.xml文件添加依赖 |
|---|
![]() |
1.3.3 同步依赖
引入坐标后,同步依赖,确认导入。
| 窗口右下角弹窗,刷新依赖,使新加的配置被maven加载 |
|---|
![]() |
1.4 创建web项目
1.4.1 打包方式
pom.xml 中设置 <packaging>war</packaging>
注意:packaging 标签中
war 为 web 项目打包文件后缀,jar 为 java 项目打包文件后缀。
| web项目打包方式为:war |
|---|
![]() |
1.4.2 web依赖
导入 JSP 和 Servlet 和 JSTL 依赖,使项目具有web编译环境。
1 | |
1.4.3 webapp目录
按照 maven 规范,新建 web 项目特有目录,packaging 标签必须为 war 类型才能自动识别 webapp 目录。
注意:实际开发中,可在 Maven 项目创建时勾选
Cteate from archetype(从原型创建) > 选择maven-archetype-webapp以直接创建带有 web 项目目录的工程结构。
| 新建如下目录和文件 |
|---|
![]() |
1 | |
1.4.4 定义Servlet和Jsp
| 照常定义即可 |
|---|
![]() |
1.5 部署web项目
1.5.1 新增Tomcat
| 新增Tomcat |
|---|
![]() |
![]() |
![]() |
1.5.2 部署web项目
| 部署web项目 |
|---|
![]() |
![]() |
![]() |
1.5.3 启动Tomcat
| 启动Tomcat |
|---|
![]() |
![]() |
1.6 依赖生命周期
1.1.1 概念
Jar包生效的时间段,即Jar的生命周期。
1.1.2 使用方式
项目中导入的依赖可以通过 <scope> 标签做生命周期的管理。
1 | |
1.1.3 生命周期详解
| 标识 | 周期 |
|---|---|
| compile | 缺省值,适用于所有阶段(测试运行,编译,运行,打包) |
provided |
类似compile,期望JDK、容器或使用者会提供这个依赖。如servlet-api.jar;适用于(测试运行,编译)阶段 |
runtime |
只在运行时使用,如 mysql的驱动jar,适用于(运行,测试运行)阶段 |
test |
只在测试时使用,适用于(编译,测试运行)阶段,如 junit.jar |
| system | Maven不会在仓库中查找对应依赖,在本地磁盘目录中查找;适用于(编译,测试运行,运行)阶段 |
1.7 Maven指令
通过Idea打开 Terminal,然后执行Maven指令。
| 打开 cmd,并定位到项目目录 |
|---|
![]() |
| 执行maven指令 |
|---|
![]() |
Idea中有Maven面板,其中可以快速执行Maven指令。
| maven面板 |
|---|
![]() |

























