MAVEN
maven(三)
maven的pom.xml文件
POM代表项目对象模型。它是 Maven 中工作的基本单位,这是一个 XML 文件。它始终保存在该项目基本目录中的 pom.xml 文件。
POM 包含的项目是使用 Maven 来构建的,它用来包含各种配置信息。
POM 也包含了目标和插件。在执行任务或目标时,Maven 会使用当前目录中的 POM。它读取POM得到所需要的配置信息,然后执行目标。可以在pom文件中配置以下的属性:
project dependencies,plugins, goals,build profiles,project version,developers,mailing list
创建一个POM之前,应该要先决定项目组(groupId),它的名字(artifactId)和版本,因为这些属性在项目仓库是唯一标识的。
pom.xml文件配置解释
每个项目只有一个pom文件
所有的pom文件必须含有三个配置:groupId
,artifactId
,version
;
groupId
: 项目组编号,通常是唯一的。
artifactId
:项目的ID,通常是项目的名称。
version
: 项目的版本,与groupId
,artifactId
一起使用可以辨识项目的版本。
其他配置为:
<modelVersion>4.0.0</modelVersion>
:maven的版本,通常为4.0.0
packaging
: 打包类型,基础类型包括jar/war/ejb/ejb3/rar
dependencies
:依赖关系,其中可以包含多个dependency
;
groupId
:依赖的项目组编号
artifactId
:依赖的项目ID
version
:依赖的版本
scope
:依赖的使用范围“`依赖项的适用范围:
compile,缺省值,适用于所有阶段,会随着项目一起发布。
provided,类似compile,期望JDK、容器或使用者会提供这个依赖。如servlet.jar。
runtime,只在运行时使用,如JDBC驱动,适用运行和测试阶段。
test,只在测试时使用,用于编译和运行测试代码。不会随项目发布。
system,类似provided,需要显式提供包含依赖的jar,Maven不会在Repository中查找它。
exclusions
:用于排除项目中依赖冲突
repositories
:继承,其中可以包含多个repository
,指出可以从配置的远程仓库中下载所需的依赖
modules
:指出项目是由哪些小的项目所构成的
plugin
:构建,指出项目构建的插件以及配置
resource
:指出在项目build的时候需要的资源文件,使用<build>
标签包含。
profile
:声明设置不同环境
id
:打包时选择
properties
:打包运行时的环境配置
properties
: 可以放在repository
外,设置一些属性,包含依赖的版本,字符集等等