Maven仓库是一个存放了所有依赖的仓库,这个仓库通过依赖的坐标对其进行管理。
依赖类似于eclipse项目的根目录下的lib子目录下引入的第三方jar文件(jar包),这个就是项目的依赖。Maven不同的是,maven仓库中存储了所有依赖,所有的maven项目从同一个仓库调取依赖。
Maven的所有依赖都是从本地仓库获取的,若本地仓库没有,则从远程仓库中下载依赖到本地仓库,之后再使用本地仓库的依赖。若远程仓库和本地仓库都没有,maven报错。
通过运行maven的install命令构建项目时,并未手工下载任何jar文件,而项目却能成功构建,是因为若本地仓库没有相关依赖,那么maven会从远程仓库中找到相关依赖后下载到本地仓库再使用
修改maven本地仓库的默认位置
1)进入maven安装目录→进入conf文件夹
2)打开settings.xml文件修改
3)找到
配置,取消注释后,将其中的路径修改为本地仓库的路径即可
maven自带了一个远程仓库,这个远程仓库是maven的中央仓库,其配置可在Effective POM中查看。
maven还能配置其他远程仓库,举例如下
//pom.xml文件的中加入
<repositories>
<repository>
<id>oschina</id>
<name>oschina repository</name
<url>http://maven.oschina.net/content/groups/public/</url>
</repository>
</repositories>
2. maven依赖管理
依赖即是一个项目运行所需要的第三方类库文件,也称为构件。
maven通过坐标来管理依赖。在pom中,maven的依赖是在
中设置的。
//maven依赖
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
maven坐标
//这几项可唯一确定一个项目(maven坐标)
//groupId:artifactiId:packaging:version
//com.cwu:emall-seckill:jar:0.0.1-SNAPSHOP
<groupId>com.cwu</groupId>
<artifactId>emall-seckill</artifactId>
<version>0.0.1-SNAPSHOT</version> //版本号
<packaging>jar</packaging> //打包类型
传递性依赖
一个复杂的项目会包含很多依赖,也有可能包含依赖于其它构件的依赖。不必找出所有这些依赖把它们写到pom文件中,只需加上直接依赖的那些库,maven会隐式的把这些库所间接依赖的库也加入到项目中。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)