maven(一)------ 认识maven

参考文章
maven(一) maven到底是个啥玩意~

1. maven是什么

maven是基于项目对象模型(POM, project object model),可以通过一小点描述信息来管理项目的构建,报告和文档的软件项目管理工具。

maven的核心功能是合理叙述项目间的依赖关系。

通过groupId、artifactId、version三个属性就能定位一个jar包。
groupId是一个唯一标识,artifactId是项目名称,version是版本号。

2. 仓库

通过pom.xml中的配置,就能够获取到想要的jar包,这些jar包就是从仓库中获得的。

仓库分为:本地仓库、第三方仓库(私服)、中央仓库。

2.1 本地仓库

Maven会将工程中依赖的构件(Jar包)从远程下载到本机一个目录下管理,每个电脑默认的仓库是在 $user.home/.m2/repository下。

一般我们会修改本地仓库位置,自己创建一个文件夹,下载的jar包都放到本地仓库中,然后每次写项目,直接从本地仓库里拿就行了。

修改本地库位置:在$MAVEN_HOME/conf/setting.xml文件中修改,添加<localRepository>D:\repository</localRepository>

2.2 第三方仓库

第三方仓库,又称为内部中心仓库,也称为私服。

私服:一般是由公司自己设立的,只为本公司内部共享使用。它既可以作为公司内部构件协作和存档,也可作为公用类库镜像缓存,减少在外部访问和下载的频率。(使用私服为了减少对中央仓库的访问)。

私服可以使用的是局域网,中央仓库必须使用外网。也就是一般公司都会创建这种第三方仓库,保证项目开发时,项目所需用的jar都从该仓库中拿,每个人的版本就都一样。

注意:连接私服,需要单独配置。如果没有配置私服,默认不使用。

2.3 中央仓库

Maven内置了远程公用仓库:http://repo1.maven.org/maven2

这个公共仓库是由Maven自己维护,里面有大量的常用类库,并包含了世界上大部分流行的开源项目构件。目前是以java为主。

工程依赖的jar包如果本地仓库没有,如果配置的有私服,则从私服中拉去,如果还是没有则从中央仓库下载。

3. maven指令

编译:mvn compile  --src/main/java目录java源码编译生成class (target目录下)

测试:mvn test    --src/test/java 目录编译

清理:mvn clean    --删除target目录,也就是将class文件等删除

打包:mvn package  --生成压缩文件:java项目jar包;web项目war包,也是放在target目录下

安装:mvn install    --将压缩文件(jar或者war)上传到本地仓库

部署|发布:mvn deploy  --将压缩文件上传私服

4. 依赖调节原则

1、第一原则:路径近者优先原则
A–>B–>C–>D–>X(1.6)
E–>D–>X(2.0)
使用X(2.0),因为其路径更近

2、第二原则:第一声明者优先原则。就是如果路径相同,maven 默认配置在前面的优先使用
A–>B --> X(1.6)
C–>D–> X(2.0)
这样就是路径相同,那么如果A在前面,C在后面,则使用X(1.6)

maven会先根据第一原则进行选择,第一原则不成,则按第二原则处理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值