Maven常用标签

Maven常用标签解释

<groupId>:GroupID 是项目组织唯一的标识符,实际对应JAVA的包的结构,是main目录里java的目录结构。

<artifactId>:ArtifactID是项目的唯一的标识符,实际对应项目的名称,就是项目根目录的名称。

<version>:指定了项目的当前版本,SNAPSHOT意为快照,说明该项目还处于开发中,是不稳定的版本。

<name>:声明了一个对于用户更为友好的项目名称,不是必须的

<parent>:Maven项目之间的继承关系通过<parent>表示,子项目中用parent标签继承父项目

子项目能继承的父项目的属性

  • dependencies
  • developers
  • contributors
  • plugin lists
  • reports lists
  • plugin executions with matching ids
  • plugin configuration

SUPER POM:在Maven中也存在一个特殊的POM,被称为Super POM。任何Maven项目的POM都继承自Super POM。

在Super POM中,设置如下:

  • Maven的central库
  • Maven的central插件库
  • build的基本参数和4个插件(maven-antrun-plugin、maven-assembly-plugin、maven-dependency-plugin和maven-release-plugin)
  • reporting的基本目录
  • 一个profile(id=release-profile)

<relativePath>:父项目相对于子项目的路径,这样在构件子项目时首先从该相对路径查找父项目,如果没有才会从本地库或进而远程库中查找父项目。

<Properties>:Maven属性是值占位符。它们的值可以通过使用符号${X}在POM中的任何位置访问,其中X是属性。还可以在properties文件中使用pom.xml配置的属性

1、env.X:使用“env”来定义变量。将返回shell的环境变量。例如,${env.PATH}包含PATH环境变量。

注意:虽然环境变量本身在Windows上不区分大小写,但查找属性区分大小写。换句话说,虽然Windows shell为%PATH%和%Path%返回相同的值,但Maven区分${env.PATH}和${env.Path}。对于Maven 2.1.0,为了可靠性,环境变量的名称被归一化为所有大写。

2、project.x:POM中的点(.)记号路径将包含相应元素的值。例如:可以通过${project.version}访问<project><version>1.0</version></project>。

3、settings.x:settings.xml中的点(.)标注路径将包含相应的元素的值。例如:<settings><offline>false</offline></ settings>可通过${settings.offline}访问。

4、Java系统属性:可通过java.lang.System.getProperties()访问的所有属性都可用作POM属性,如${java.home}。

5、x:在POM中的<properties />元素中设置。<properties><someVar>value</someVar></properties>的值可以用作${someVar}。

<modules>:用来管理同个项目中的各个模块

<packaging>:表示项目的打包类型【默认:jar类型】

<packaging>pom</packaging>:使用maven分模块管理

<packaging>jar</packaging>:打成jar包

<packaging>war</packaging>:打成war包

<build >:如何来编译及打包项目

一种<build>被称为Project Build,即是<project>的直接子元素。另一种<build>被称为Profile Build,即是<profile>的直接子元素。

<resources>: 一个resources元素的列表。每一个都描述与项目关联的文件是什么和在哪里

<directory>:定义resource文件所在的文件夹,默认为${basedir}/src/main/resources

<targetPath>:指定build后的resource存放的文件夹,默认是basedir。通常被打包在jar中的resources的目标路径是META-INF

<filtering>: true/false,表示为这个resource,filter是否激活,true代表使用filters里面的变量值替换

<includes>: 指定哪些文件将被匹配,以*作为通配符

<excludes>:指定哪些文件将被忽略

<filters>:定义*.properties文件,包含一个properties列表,该列表会应用到支持filter的resources中。

定义在filter的文件中的name=value键值对,会在build时代替${name}值应用到resources中。

maven的默认filter文件夹为${basedir}/src/main/filter

<profiles>:根据激活环境的不同,自定义字段被赋予不同的值。

<activeByDefault>:指定默认激活profile

<executions>: 该插件的某个goal(一个插件可能有多个goal)的执行方式

<extensions>:是否加载该插件的扩展,默认false

<goals>:要执行的插件的goal.这个是可以有多个的

<phase>:插件的goal要嵌入到Maven的phase中执行

<inherited>:是否可被子项目继承

<configuration>:配置参数

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值