maven 之pom.xml
Maven的核心功能便是合理叙述项目间的依赖关系(包括项目的基本信息、包依赖、项目构建等信息),通俗点讲,就是通过pom.xml文件的配置获取jar包,而不用手动去添加jar包,如果需要使用pom.xml来获取jar包,那么首先该项目就必须为maven项目,maven项目可以这样去想,就是在java项目和web项目的上面包裹了一层maven,本质上java项目还是java项目,web项目还是web项目,但是包裹了maven之后,就可以使用maven提供的一些功能了(通过pom.xml添加jar包)。
查看默认创建的pox.xml文件,如
[root@localhost Book]# cat pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.dangdang.testmvn</groupId>
<artifactId>Book</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>Book</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
所有 POM 文件都需要 project 元素和三个必需标签:groupId,artifactId,version。它们共同定义了一个项目的基本坐标,坐标时maven中任何一个依赖包的唯一标识。
节点描述
project工程的根标签。
modelVersion模型版本需要设置为 4.0。
groupId这是工程组的标识,即项目归属于哪个组织,通常是公司名。
artifactId这是工程的标识。它通常是工程的名称。groupId 和 artifactId 一起定义了 artifact 在仓库中的位置。
version这是工程的版本号,默认版本是SNAPSHOT版本。在 artifact 的仓库中,它用来区分不同的版本。
packaging定义了当前maven项目的打包方式,默认为jar
工程的pom文件里面project下的dependencies标签下,包含了一个或多个dependency元素,来声明当前项目所依赖的一个或多个依赖,每个依赖至少由groupId,artifactId,version这三个元素组成。从以上 xml代码中,可知 Maven 已经添加了 JUnit 作为测试框架。
pom.xml中只是声明了依赖哪些库,这些库从哪获取呢,这就是maven仓库的作用了。
o