maven

Maven 索引

maven是apache公司开源项目,是项目构建的工具。用来依赖管理

maven的好处

jar包的管理,用户只关心自己的代码,不用再去提交第三方的jar包到自已的版本控制器。

项目构建;项目依赖管理;软件项目持续集成;版本管理;项目的站点描述信息管理;

maven的好处如何实现

maven的两大核心:

依赖管理:对jar包管理过程

项目构建:项目在编码完成后,对项目进行编译、测试、打包、部署一系列的操作都通过命令来实现

通过maven命令将web项目发布到tomcat:

maven的重点

生命周期是重点

依赖范围与依赖传递是重点

依赖冲突解决是重点

排除依赖是重点

maven的概念模型是重点

依赖范围 对于编译classpath有效 对于测试classpath有效 对于运行时classpath有效 例子
compile Y Y Y spring-core
test - Y - junit
provided Y Y - servlet-api
runtime - Y Y jdbc驱动
system Y Y - 本地的,maven仓库之外的类库

##maven传递依赖冲突解决
传递依赖:A(项目)依赖B,B依赖C(1.1版本),B是A的直接依赖,C就是A的传递依赖,导入依赖D,D依赖C(1.2版本)

###1.1 maven自己调解原则

####1.1.1 第一声明者优先原则

谁先定义的就用谁的传递依赖。

1.1.2路径近者优先原则

直接依赖级别高于传递依赖。

1.2排除依赖

###1.3版本锁定(推荐使用)

##maven对项目进行拆分、聚合(重点)

对现在已有maven ssh项目进行拆分,拆分思路:将dao层的代码已经配置文件全体提取出来到一个表现上独立的工程中。同样service、action拆分。

ssh-parent:父工程

ssh-dao(子模块)、ssh-service、ssh-web

拆分完成对拆分后的项目进行聚合,提出概念父工程

1.1创建父工程

1.2将创建父工程发布到本地仓库

1.3创建子模块ssh-dao

ssh-dao负责数据访问层:包含dao相关代码&配置文件

1.4创建子模块ssh-service

1.5创建子模块ssh-web

1.6运行方式

maven私服安装

maven项目–》本地仓库–》私服–》中央仓库

1.私服安装

2.私服仓库类型

hosted:宿主仓库;存放本公司开发的jar包(正式版本、测试版本、第三方:存在版本问题-oracle)

proxy:代理仓库;代理中央仓库、apache下测试版本的jar包

group:组仓库;将来连接组仓库。包含hosted、proxy

3.上传jar包到私服上

4.下载jar包到本地仓库(应用)


maven
http://hanqichuan.com/2018/03/23/构建工具/Maven 索引/
作者
韩启川
发布于
2018年3月23日
许可协议