Maven是什么?!

1.什么是maven
Maven(POM project object model)是专门用于构建和管理java相关项目的工具。
【自己的体会:maven能够结局jar包依赖的问题,假设开发需要用到Mysql,需要先到百度去搜素哪些jar包是必须的,然后到官网去下一堆jar包,再放到项目中。很麻烦。使用maven后,在pom里把依赖一配置,说明要用mysql的哪个版本,哪个厂家出的,就ok了。在有了maven后,你只需要动嘴说一下,maven插件就会到仓库中去拿,至于其他的事情不需要操心。】
2.Maven的主要用处

使用Maven管理的java项目都有相同的项目结构
一.有一个pom.xml用于维护当前项目都用了哪些jar包。
二.所有的java代码都放在src/main/java下面。
三.所有的测试代码都放在src/test/java下面

统一维护jar包
比如有三个java项目,这些项目都不是maven风格。那么这三个项目,就会各自维护一套jar包。而其中有些jar包是相同的。
而maven风格的项目,首先把所有的jar包都放在“仓库”里,然后哪个项目需要用到这个jar包,只需要给出jar包的名称和版本号就行了,这样jar包就实现了共享。

不同IDE带来的困扰
IDE确实能帮助我们简化项目从创建、编译、测试、打包、部署的全过程。但是有一个非常严重的问题,比如teamA习惯使用intellij idea开发,teamB习惯使用eclipse开发。当一个项目由A转交给B后,首先idea的项目不能直接在eclipse中使用,这样的话要么B学习idea要么将idea项目转成eclipse格式。有了Maven就可以解决这个问题。
Eclipse和Intellij idea都有maven插件,支持使用maven构建项目。如果团队使用Maven构建项目,那么不论是否有IDE、或者不论IDE是什么,都不会出现因为换IDE导致的项目结构变化的问题。

3.Maven的使用
根据上一段的描述,我们最终的目的就是学会如何在pom.xml中配置获取到我们想要的jar包。
pom.xml获取junit的jar包的编写。

<dependency>
            <!--通过groupId、artifactId、version三个属性来定位一个jar包-->
            <groupId>junit</groupId>
            <!--groupId:一般为包名,也就是域名的反写-->
            <artifactId>junit</artifactId>
            <!--artifactId:项目名-->
            <version>3.8.1</version>
            <!--所需要jar包的版本-->
            <scope>test</scope>
            <!--此局的意思是该jar包只在测试时使用-->
        </dependency>
*为什么通过groupId、artifactId、version三个属性就能定位一个jar包呢?*	
		假如上面的pom文件属于A项目,那么A项目肯定是一个maven项目,通过上面这三个属性就能找到junit对应版本的jar包,那么junit项目肯定也是一个maven项目,junit的maven项目中的pom文件就会有三个标识符,如下代码所示,然后别的maven项目救恩那个通过这三个属性来找到junit项目的jar包了。所以,在每个创建的maven项目时都会要求写上这三个属性的值。
<!--会有这三个属性来表示自己,目的就是为了让别人能通过这三个属性找到自己-->
  <groupId>junit</groupId>
  <!--给自己一个唯一的标识-->
  <artifactId>junit</artifactId>
  <!--自己项目的名称-->
  <version>3.8.1</version>
  <!--版本号-->
  <packaging>jar</packaging>
  <!--打包后为jar(/jar(java项目)/war(web项目)/pom(maven项目))包-->

4.仓库的概念
通过pom中的配置,就能够获取到想要的jar包,但是这些jar包在哪里呢》我们从哪里获取到的这些jar包呢?就是仓库。
仓库分为:本地仓库、第三方仓库(私服)、中央仓库
本地仓库:
Maven会将工程中依赖的构件(jar包)从远程下载到本机的一个目录下管理,每个i带闹闹默认的仓库是在C:\Users\xx姓名.m2\repository下。
例如我的位置
一般我们会修改本地仓库位置,自己创建一个文件夹,再从网上下载一个又有相对完整的所有jar包的结合,都丢到本地仓库中,然后每次写项目,直接从本地仓库里拿就可以了。
修改本地仓库位置在:
settings.xml
在代码中找到:
新的仓库地址
完成!
第三方仓库
第三方仓库,又称为内部中心仓库,也称为私服。
私服:一般是由公司自己设立,只为本公司内部共享使用。它既可以作为公司内部构建协作的存档,也可以作为公司类库镜像缓存,减少在外部访问和下载的频率。
中央仓库
Maven内置了远程公用仓库:http://repo1.maven.org/maven2
这个公共仓库是由Maven自己维护,里面有大量的常用类库,并包含了世界上大部分流行的开源项目构建,目前以java为主。
总结:获取jar包的过程

	本地仓库(若没有所需的jar包,且配置了私服)→私服(若没有所需)→互联网(中央仓库)
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值