编程语言
首页 > 编程语言> > 廖雪峰Java12maven基础-1maven入门-2依赖管理

廖雪峰Java12maven基础-1maven入门-2依赖管理

作者:互联网

如果我们的项目依赖第三方的jar包:

搜索引擎——手动下载——解压——放入classpath:过程非常繁琐
maven解决了依赖管理的问题
Hello项目-->依赖abc -> abc又依赖于xyz
当我们生命了abc的依赖时,maven自动把adb依赖的xyz jar包也加入到项目依赖中,不需要我们自己去研究abc是否需要依赖xyz。
所以maven的第一个作用就是解决了依赖管理,我们声明了自己的项目,需要abc,maven就会自动倒入abc的jar,再判断出abc又需要依赖xyz,又会自动倒入xyz的jar包,这样最终我们的jar包会依赖abc和xyz这2个jar包
一个复杂的依赖示例

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <version>1.4.2Release</version>
</denpendency>

当我声明1个spring-boot-start-web依赖时,maven会自动解析并判断出需要大概20-30个依赖。如果手动去管理这些依赖是非常费时费力的,而且出错的概率很大,maven的依赖关系有以下几种:

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

maven从何处下载所需的依赖:
maven维护了一个中央仓库
第三方库将自身上传值中央仓库
maven从中央仓库把所需依赖下载到本地
maven会自动缓存已下载过的jar包(~/.m2/repository)

总结

标签:依赖,Java12maven,雪峰,xyz,jar,maven,abc,1maven,下载
来源: https://www.cnblogs.com/csj2018/p/11061526.html