1.pom.xml的配置及其配置作用
该文件用于管理:源代码、配置文件、开发者的信息和角色、问题追踪系统、组织信息、项目授权、项目的url、项目的依赖关系等等
<modelVersion>5.0.0</modelVersion> modelVersion:pom文件的模型版本 为5.0.0
<groupId>com.zjf.www</groupId> groupId 组织名称 com.zjf.www 是我创建项目用的文件路径 maven会将该项目打成的jar包放本地路径,即com/zjf/www
<artifactId>maven-webapp</artifactId> artifactId 项目名称 是新建的maven项目名称
<version>0.0.6</version> 表示 jar包的版本
<scope>test</scope> 表明该jar文件的适用的作用范围,只在测试时使用
<packaging>war</packaging> packaging:项目打包的后缀,war是web项目发布用的,默认为jar
<name>maven-webapp Maven Webapp</name>
<url>http://www.example.com</url> name和url:相当于项目描述,可删除
group id + artifact id +version :项目在仓库中的坐标
<scope>值范围
<scope>test</scope> :
compile:默认值,适用于所有阶段(表明该jar包在编译、运行以及测试中路径俊可见),并且会随着项目直接发布。
provided:编译和测试时有效,并且该jar包在运行时由服务器提供。如servlet-api.
runtime:运行时使用,对测试和运行有效。如jdbc.
test:只在测试时使用,在编译和运行时不起作用。发布项目时没有作用。
system:不依赖maven仓库解析,需要提供依赖的显式的置顶jar包路径。对项目的移植来说是不方便的。
<dependencies> 介绍
<dependencies> 是引入jar包的跟目录 所有引进jar都在这个标签里面 增加<dependency>
dependency:引入资源jar包到本地仓库,一对dependency标签就引进一个jar包,可以有多对dependency标签
举例:
<dependencies>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng-test</artifactId>
<version>${testng.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${spring.version}</version>
</dependency>
<dependencies>
2.关于maven的本地仓库
使用 Maven 给我们带来的最直接的好处,就是统一管理jar 包,那么这些 jar 包存放在哪里呢?它们就在您的本地仓库中,默认地址位于 C:\Users\用户名\m2\目录下(当然也可以修改这个默认地址),
下面我们就修改一下这个默认地址
修改后的maven的本地仓库:
修改java项目的maven配置:
实际上我们可以将本地仓库理解“缓存”,目的是存放jar包。开发项目时项目首先会从本地仓库中获取 jar 包,当无法获取指定 jar 包的时候,本地仓库会从 远程仓库(或 中央仓库) 中下载 jar 包,并“缓存”到本地仓库中以备将来使用。
远程仓库(中央仓库)是 Maven 官方提供的,可通过 http://search.maven.org/ 来访问。这样一来,本地仓库会随着项目的积累越来越大。通过下面这张图可以清晰地表达项目、本地仓库、远程仓库以及中央仓库之间的关系。