|
POM,Project Object Model,在MAVEN1中叫做project.xml,到maven2后改为pom.xml。该文件用于管理:源代码、配置文件、开发者的信息和角色、问题追踪系统、组织信息、项目授权、项目的url、项目的依赖关系等等。一个maven项目可以没有任何源代码,但必须包含pom文件。
POM文件基本属性:
groupId : 组织标识,例如:com.mycompany.app,在M2_REPO目录下,将是: com/mycompany/app目录。
artifactId : 项目名称,例如:my-app
version : 版本号
packaging : 打包的格式,可以为:pom , jar , maven-plugin , ejb , war , ear , rar , par
<dependencies>:依赖关系
POM文件的关系:
依赖关系:依赖关系列表(dependency list)是POM的重要部分。
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.0</version>
<scope>test</scope>
</dependency>
…
</dependencies>
groupId , artifactId , version :
scope : compile(default),provided,runtime,test,system
exclusions
继承关系:允许项目之间存在继承关系
定义父项目
xml 代码
<project>
<modelVersion>4.0.0<modelVersion>
<groupId>org.codehaus.mojo<groupId>
<artifactId>my-parent<artifactId>
<version>2.0version>
<packaging>pom<packaging>
<project>
子项目:主要通过parent设置
<project>
<modelVersion>4.0.0<modelVersion>
<parent>
<groupId>org.codehaus.mojo<groupId>
<artifactId>my-parent<artifactId>
<version>2.0<version>
<relativePath>../my-parent<relativePath>
<parent>
<artifactId>my-project<artifactId>
<project>
relativePath可以不需要,但是用于指明parent的目录,用于快速查询。
聚合:一个项目有多个模块,也叫做多重模块,或者合成项目。主要通过modules属性实现
<project>
<modelVersion>4.0.0<modelVersion>
<groupId>org.codehaus.mojo<groupId>
<artifactId>my-parent<artifactId>
<version>2.0<version>
<modules>
<module>my-project1<module>
<module>my-project2<module>
<modules>
<project>
|
|