mave 中pom文件基本配置
来源:互联网 发布:java疯狂讲义第几版好 编辑:程序博客网 时间:2024/05/21 06:52
什么是Pom
Pom是项目对象模型(Project Object Model),它是Maven项目中的文件,表示的不仅仅是一堆包含代码的文件。还包含了与开发有关的组织,项目url,项目依赖,以及其他。而且一个project可以仅包含pom.xml
Pom 基本设置
<projectxmlns="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/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <!-- 基本设置 --> <groupId>...</groupId> <artifactId>...</artifactId> <version>...</version> <packaging>...</packaging> <dependencies>...</dependencies> <parent>...</parent> <dependencyManagement>...</dependencyManagement> <modules>...</modules> <properties>...</properties></project>
其中的modelVersion是4.0.0,这是当前仅有的可以被Maven2&3同时支持的POM版本
理解:
1.groupId: 项目标识,例如:org.codehaus.mojo,在M2_REPO目录下,将是:org/codehaus/mojo目录。
2.artifactId: 模块名称,例如:my-project,在M2_REPO目录下,将是:org/codehaus/mojo/my-project目录。
3.version: 版本号,例如:1.0,在M2_REPO目录下,将是:org/codehaus/mojo/my-project/1.0目录。
4.packaging: 打包的格式,可以为:pom , jar , maven-plugin , ejb , war , ear, rar , par
Pom 之间关系
与uml中对象关系是一致的,有依赖,继承,关联。主要用于pom文件的复用
依赖关系:
依赖关系列表(dependency list)是重要部分
<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/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>com.tgb</groupId><artifactId>itoo-exam-parent</artifactId><version>0.0.1-SNAPSHOT</version><relativePath>../itoo-exam-parent/pom.xml</relativePath></parent><artifactId>itoo-exam-questionbankmanage-core</artifactId><packaging>ejb</packaging><!--依赖关系--><dependencies><dependency><groupId>com.tgb</groupId><artifactId>itoo-base</artifactId></dependency><dependency><groupId>com.tgb</groupId><artifactId>itoo-tool</artifactId></dependency><dependency><groupId>com.tgb</groupId><artifactId>itoo-exam-api</artifactId></dependency><dependency><groupId>com.tgb</groupId><artifactId>itoo-exam-base</artifactId></dependency><dependency><groupId>com.tgb</groupId><artifactId>itoo-exam-tool</artifactId></dependency><dependency><groupId>javax</groupId><artifactId>javaee-api</artifactId></dependency></dependencies></project>
理解:
1.groupId ,artifactId , version :
2.scope:(依赖范围)compile(default),provided,runtime,test,system
3.exclusions
继承关系:
继承其他pom.xml配置机制如:
父pom文件
<project><modelVersion>4.0.0</modelVersion><groupId>com.juvenxu.mvnbook.account</groupId><artifactId> account-parent </artifactId><version>1.0.0-SNAPSHOT</version><packaging>pom</packaging><name>Account Parent</name></project>
子模块声明继承如下
<project><modelVersion>4.0.0</modelVersion>< parent ><groupId>com.juvenxu.mvnbook.account</groupId><artifactId> account-parent </artifactId><version>1.0.0-SNAPSHOT</version>< relativePath >../account-parent/pom.xml</ relativePath></ parent ><artifactId> account-email </artifactId><name>Account Email</name></project>
这里我们看到子模块没有声明groupid和version,这两个属性继承至父模块。但如果子模块有不同与父模块的 groupId、version ,也可指定;同时不应该继承artifactId,如果groupId ,version,artifactId 完全继承的话会造成坐标冲突;
聚合关系:
用于将多个maven项目聚合为一个大项目,这样构建一个项目就可以将整个项目构建完成
<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>org.codehaus.mojo</groupId> <artifactId>my-parent</artifactId> <version>2.0</version> <modules> <module>my-project<module>//聚合项目 <module>account-email</module> </modules></project>
maven的属性:
maven属性是值的占位符,类似EL,用于pom文件的任何位置。
1.env.X:操作系统环境变量,比如${env.PATH}
2.project.x:pom文件中的属性,比如:<project><version>1.0</version></project>,引用方式:${project.version}
3 .自定义:在pom文件中可以::<properties><installDir>c:/apps/cargo-installs</installDir></properties>,引用方式:${installDir}
小结:
pom.xml 文件是maven对一个项目的核心配置,这个文件将包含你希望如何构建项目的大多数配置信息。POM大而复杂,我们不用全部去了解,只要使用一些常用的配置就可以了。以上的为基本的配置和语法,希望对大家有所帮助。
- mave 中pom文件基本配置
- Maven中Pom文件打包配置build
- SSM中pom.xml文件的配置
- Maven中Pom文件打包配置build
- pom.xml 基本配置
- Tycho基本POM配置
- Maven的pom.xml文件结构之基本配置properties
- jAVA SpringBoot(1)---pom.xml文件基本配置
- Pom.xml文件配置
- parent pom文件配置
- pom文件配置
- mave安装与配置
- pom文件中常见问题
- Maven的pom.xml文件中build配置介绍
- maven项目中pom文件配置nexus仓库
- Maven POM文件中依赖与插件的配置
- mave整理中
- hibernate的pom文件配置
- 同源基因查找软件OrthoMCL的使用
- [LeetCode]Largest Number
- HDU 1312 red and black
- Putty Change the Terminal Font
- SPWM控制器的全数字设计
- mave 中pom文件基本配置
- Java开发者易犯错误Top10
- 在Ubuntu 14.04中修改date的显示
- 一个32位DDS的可综合代码
- 欧洲人浅色皮肤源自一万年前一祖先基因突变
- 【MySQL笔记】SQL优化利器 - explain命令的输出格式详解
- 三分频50%占空比电路的VHDL可综合代码
- Moo Volume
- C++算法:符号数运算