pom.xml 简述
什么是POM?
POM是项目对象模型(Project Object Model)的简称,它是Maven项目中的文件,使用XML表示,名称叫做pom.xml。作用类似ant的build.xml文件,功能更强大。该文件用于管理:源代码、配置文件、开发者的信息和角色、问题追踪系统、组织信息、项目授权、项目的url、项目的依赖关系等等。事实上,在Maven世界中,project可以什么都没有,甚至没有代码,但是必须包含pom.xml文件。
maven的协作相关属性
一个最简单的pom.xml的定义必须包含modelVersion、groupId、artifactId和version这四个元素,当然这其中的元素也是可以从它的父项目中继承的。在Maven中,使用groupId、artifactId和version组成groupdId:artifactId:version的形式来唯一确定一个项目:
<?xml version="1.0" encoding="UTF-8"?> <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> <!-- 含义:组织标识,定义了项目属于哪个组,风向标,坐标,或者说若把本项目打包 用途:此名称则是本地仓库中的路径,列如:otowa.user.dao,在M2_REPO目录下,将是: otowa/user/dao目录 命名规范:项目名称,模块,子模块 --> <groupId>otowa.user.dao</groupId> <!-- 含义:项目名称也可以说你所模块名称,定义当面Maven项目在组中唯一的ID 用途:例如:user-dao,在M2_REPO目录下,将是:otowa/user/dao/user-dao目录 命名规范:唯一就好 --> <artifactId>user-dao</artifactId> <!-- 含义:项目当前的版本号 用途:例如:0.0.1-SNAPSHOT,在M2_REPO目录下,将是:otowa/user/dao/user-dao/0.0.1-SNAPSHOT目录 --> <version>0.0.1-SNAPSHOT</version> <!-- 打包的格式,可以为:pom , jar , maven-plugin , ejb , war , ear , rar , par --> <packaging>war</packaging> <!-- 元素声明了一个对用户更为友好的项目名称 --> <name>maven</name> </project>