赞
踩
Maven是一款Java项目管理工具,可以实现自动化构建、测试、打包和发布项目
主要功能
project
├── pom.xml --项目管理文件
├── src
│ ├── main --项目主要代码
│ │ ├── java --存放Java源码
│ │ ├── resources --存放配置文件
│ │ └── webapp --存放WEB资源
│ │ └── WEB-INF
│ │ └── web.xml
│ └── test --项目测试代码
│ └── java
└── target --项目构建目录
└── classes
GAVP是指GroupId、ArtifactId、Version、Packaging的缩写,用于唯一标识一个项目
.jar
文件.war
文件<dependencies>
<dependency>
<groupId>groupId</groupId>
<artifactId>artifactId</artifactId>
<version>version</version>
</dependency>
...
</dependencies>
格式说明
package.version
)中配置版本号并通过${}
+ 标签名引用作用范围
scope标签用于指定依赖的生效范围,具体说明如下
范围 | main | test | 打包运行 |
---|---|---|---|
compile(默认) | √ | √ | √ |
provided | √ | √ | |
test | √ | ||
runtime | √ |
依赖传递
解决方案
构建工具能够自动解析并加载所有直接或间接依赖,并保证版本正确
依赖冲突
解决方案
构建工具能够自动选择重复的依赖并终止依赖传递来解决冲突问题,选择原则为
命令语法
mvn command
说明
space
隔开常用命令
命令 | 说明 |
---|---|
clean | 清理编译或打包后的项目结构,删除target |
compile | 编译项目,生成target |
test | 执行测试源码 (测试) |
site | 生成一个项目依赖信息的展示页面 |
package | 打包项目,生成war/jar文件 |
install | 打包后上传到maven本地仓库(本地部署) |
deploy | 打包后上传到maven私服仓库(私服部署) |
构建生命周期是一组固定构建命令的有序集合,触发周期中的某个命令会自动触发其前面的命令
推荐方案
mvn clean package
mvn clean compile
mvn clean install
继承是指Maven工程中一个项目从另一个项目中继承配置信息的机制,用于在父工程中统一管理依赖
父工程
子工程
父工程
子工程
聚合是指将多个工程组织到一个父工程中,通过触发父工程的构建来按顺序触发子工程的构建,用于统一管理子工程的构建
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。