maven深入操作之依赖管理

差不多两月前,写了《软件起步之第一个maven项目》和《maven项目手动创建》,但一上来就弄项目,对一些基本点还是很生疏,也没有实质性的进展,经过这段时间突击java ,虽然说不能全记住,但也能稍稍感到一些进步,趁热打铁,深入了解下maven.

1、maven有什么用?

专门为Java项目打造的管理和构建工具,它的主要功能有:

  • 提供了一套标准化的项目结构;
  • 提供了一套标准化的构建流程(编译,测试,打包,发布……);
  • 提供了一套依赖管理机制。在pom.xml中使用<dependency>声明一个依赖后,Maven就会自动下载这个依赖包并把它放到classpath中。

2、为啥会有依赖问题?

使用框架开发,就会有大量的第三方的jar包,如果都是靠手动去官方网站上下载,太费劲了!而且出错的概率很大,需要花大量的时间去研究包之间的依赖关系,要读大量的资料。这就会有依赖问题。

3、maven如何解决依赖问题?

maven定义的几种依赖关系:

scope说明示例
compile编译时需要用到该jar包(默认)commons-logging
test编译Test时需要用到该jar包junit
runtime编译时不需要,但运行时需要用到mysql
provided编译时需要用到,但运行时由JDK或某个服务器提供servlet-api

 定义的这些依赖关系都会在pom.xml文件中<dependencies>中写明。根据定义的依赖关系类型,maven就会自动下载第三方的jar包,如何实现的呢?

Maven维护了一个中央仓库(repo1.maven.org),所有第三方库将自身的jar以及相关信息上传至中央仓库,Maven就可以从中央仓库把所需依赖下载到本地。Maven并不会每次都从中央仓库下载jar包。一个jar包一旦被下载过,就会被Maven自动缓存在本地目录(用户主目录的.m2目录),所以,除了第一次编译时因为下载需要时间会比较慢,后续过程因为有本地缓存,并不会重复下载相同的jar包。

4、除中央仓外,中国的镜像仓?

如果访问Maven的中央仓库非常慢,我们可以选择一个速度较快的Maven的镜像仓库。Maven镜像仓库定期从中央仓库同步:这块《软件起步之第一个maven项目》中配置成阿里的镜像仓中

5、如果只知道引用的第三方组件名,如何确切知道它的groupIdartifactIdversion

https://mvnrepository.com/上输入组件的名字,可以看到:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

guangod

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值