项目管理利器-maven
maven
一、常用命令:
mvn -v 查看maven版本
compile 编译
test 测试
package 打包
clean 删除target
install 安装jar包到本地仓库中,可以在其它项目中对其进行依赖引用
二、maven项目目录结构
src
-main
java
-test
java
-resource
三、maven自动建立目录骨架
常用的构建命令介绍:
1) 自动创建项目目录的两种方式
1、mvn archetype:generate 按照提示进行选择
2、mvn archetype:generate -DgroupId=组织名,公司网址的反写+项目名
-DartifactId=项目名-模块名
-Dversion=版本号
-Dpackage=代码所存在的包名
自动创建目录骨架:archetype插件,用于创建符合maven规定的目录骨架
四、maven中的坐标和仓库
1)坐标
groupId、artifactId、version
2)仓库
本地仓库、远程仓库、镜像仓库
修改镜像仓库: 在settings.xml中 mirrors 标签中 mirror
更改仓库路径:默认在repository目录下,修改sttings.xml 中 localRepository标签
五、在eclipse中安装maven插件以及创建maven项目
六、maven的生命周期和插件
1)完整项目构建过程包括:
清理、编译、测试、打包、集成测试、验证、部署
2)maven生命周期:
clean 清理项目
pre-clean 执行清理前的工作
clean清理上一次构建生成的所有文件
post-clean执行清理后的文件
default 构建项目
compile test package install
site 生成项目站点
pre-site 在生成项目站点前要完成的工作
site 生成项目的站点文档
post-site 在生成项目站点后要完成的工作
site-deploy 发布生成的站点到服务器上
七、maven中pom.xml解析
<project>
<!-- 指定了当前pom的版本 -->
<modelVersion>4.0.0</modelVersion>
<groupId>反写的公司网址+项目名</groupId>
<artifactId>项目名+模块名</artifactId>
<!--
第一个0表示大版本号
第二个0表示分支版本号
第三个0表示小版本号
0.0.1
snapshot快照
alpha内部测试
beta公测
Release稳定
GA正式发布
-->
<version></version>
<!--
打包方式,默认打包是jar,还有war zip pom
-->
<packaging></packaging>
<!--
项目描述名
-->
<name></name>
<!--
项目地址
-->
<url></url>
<!--
项目描述
-->
<description></description>
<!--
开发人员
-->
<developers></developers>
<!--
依赖列表
-->
<dependencies>
<!--
依赖项
-->
<dependency>
<groupId></groupId>
<artifacId></artifacId>
<version></version>
<!---->
<type></type>
<!-- 依赖范围 -->
<scope></scope>
<!-- 设置依赖是否可选 -->
<optional></optional>
<!-- 排除依赖传递列表 -->
<exclusions>
<exclusion>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<!-- 依赖管理 -->
<dependencyManagement>
<dependencies>
<dependency>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<!-- 插件列表 -->
<plugins>
<plugin>
</plugin>
</plugins>
</build>
<parent></parent>
<modules>
<module></module>
</modules>
</project>
八、依赖的范围
<scope></scope>
6种范围:
compile:默认的范围,编译测试运行都有效
provided:在测试和编译时候有效
runtime:在测试和运行时候有效
test:在测试范围有效
system:与本机系统相关联
import:导入的范围,它只使用再dependencyManagement中,表示从其它的pom中导入dependecy
九、依赖的传递
十、依赖冲突
1、短路优先
2、先声明优先
十一、maven的聚合和继承

浙公网安备 33010602011771号