文章目录
- 一、基于IDEA创建Maven工程
- 1. 概念梳理Maven工程的GAVP
- 2. Idea构建Maven Java SE工程
- 3. Idea构建Maven Java Web工程
- 3.1 创建一个maven的javase工程
- 3.2 修改pom.xml文件打包方式
- 3.3 设置web资源路径和web.xml路径
- 4. Maven工程项目结构说明
- 二、基于IDEA进行Maven工程构建
- 1. 构建概念和构建过程
- 2. 可视化方式项目构建
- 3. 构建插件、命令、生命周期命令之间关系
一、基于IDEA创建Maven工程
1. 概念梳理Maven工程的GAVP
Maven 中的 GAVP 是指 GroupId、ArtifactId、Version、Packaging 等四个属性的缩写。
其中前三个是必要的(在创建项目的时候指定),而 Packaging 属性为可选项(有默认值)。这四个属性主要为每个项目在maven仓库中做一个标识,类似人的姓-名!方便后期项目之间相互引用依赖等!
GAV遵循规则:
1) GroupID 格式:com.{公司/BU }.业务线.[子业务线],最多 4 级。例如:com.taobao.tddl
2) ArtifactID 格式:产品线名-模块名。
3) Version版本号格式推荐:主版本号.次版本号.修订号
1. 主版本号:当做了不兼容的 API 修改,或者增加了能改变产品方向的新功能。
2. 次版本号:当做了向下兼容的功能性新增(新增类、接口等)。
3. 修订号:修复 bug,没有修改方法签名的功能加强,保持 API 兼容性。
例如: 初始→1.0.0 修改bug → 1.0.1 功能调整 → 1.1.1等
Packaging定义规则:
指示将项目打包为什么类型的文件,idea根据packaging值,识别maven项目类型!
- jar(默认值),代表普通的Java工程,打包以后是.jar结尾的文件。
- war,代表Java的web工程,打包以后.war结尾的文件。
- pom,代表不会打包,用来做继承的父工程。
2. Idea构建Maven Java SE工程
当创建完毕maven工程之后,idea中会自动打开Maven视图,如下图:
3. Idea构建Maven Java Web工程
3.1 创建一个maven的javase工程
3.2 修改pom.xml文件打包方式
修改位置:项目下/pom.xml
<groupId>com.lm</groupId>
<artifactId>maven_web</artifactId>
<version>1.0-SNAPSHOT</version>
<!-- 新增一列打包方式packaging -->
<packaging>war</packaging>
3.3 设置web资源路径和web.xml路径
点击File–>Project Structure
- 刷新和校验
4. Maven工程项目结构说明
Maven 是一个强大的构建工具,它提供一种标准化的项目结构。
以下是 Maven Web 程序的文件结构及每个文件的作用:
|-- pom.xml # Maven 项目管理文件,用于描述项目的依赖和构建配置等信息
|-- src
|-- main # 项目主要代码
| |-- java # Java 源代码目录
| | `-- com/example/myapp # 开发者代码主目录
| | |-- controller # 存放 Controller 层代码的目录
| | |-- service # 存放 Service 层代码的目录
| | |-- dao # 存放 DAO 层代码的目录
| | `-- model # 存放数据模型的目录
| |-- resources # 资源目录,存放配置文件、静态资源等
| | |-- log4j.properties # 日志配置文件
| | |-- spring-mybatis.xml # Spring Mybatis 配置文件
| | `-- static # 存放静态资源的目录
| | |-- css # 存放 CSS 文件的目录
| | |-- js # 存放 JavaScript 文件的目录
| | `-- images # 存放图片资源的目录
| `-- webapp # 存放 WEB 相关配置和资源
| |-- WEB-INF # 存放 WEB 应用配置文件
| | |-- web.xml # Web 应用的部署描述文件
| | `-- classes # 存放编译后的 class 文件
| `-- index.html # Web 应用入口页面
`-- test # 项目测试代码
|-- java # 单元测试目录
`-- resources # 测试资源目录
二、基于IDEA进行Maven工程构建
1. 构建概念和构建过程
项目构建是指将源代码、依赖库和资源文件等转换成可执行或可部署的应用程序的过程。
2. 可视化方式项目构建
注意:打包(package)和安装(install)的区别
打包是将工程打成jar或war文件,保存在target目录下
安装是将当前工程所生成的jar或war文件,安装到本地仓库,会按照坐标保存到指定位置
3. 构建插件、命令、生命周期命令之间关系
构建生命周期
构建生命周期可以理解成是一组固定构建命令的有序集合
,触发周期后的命令,会自动触发周期前的命令!!!
构建周期作用:``会简化构建过程```
例如:项目打包 mvn clean package即可。
插件、命令、周期三者关系
周期→包含若干命令→包含若干插件
使用周期命令构建,简化构建过程!
最终进行构建的是插件!