Maven POM学习笔记之<Project>元素

<project>为描述符的根元素。下面为所有可用的子元素。

modelVersion

Type:String
声明了POM符合哪个版本的项目描述符

parent
Type:Parent
如果存在parent project,描述其的位置。来自parent project的值,如果本project没有指明,将作为本project的默认值。位置通过group ID、artifact ID和version确定。

gourpId
Type:String
项目全局唯一限定符。通常使用完全限定的包名来区分和它相似的项目。(如:org.apache.maven)

artifactId
Type:String
作为artifact在由groupId命名的组中独一无二的标识符。artifact是被project制造或使用的制品。Maven用于project而产生的artifact例子包括:JARs、source、binary distributi、WAR。

version
Type:String
当前project产生的artifact的版本号。

packaging
Type:String
project产生的artifact的类型,例如jar、war、ear、pom。Plugins可以创建它们自己的packaging,因此它们有自己的packaging类型,因此上面举的例子并不包括所有的类型。
默认值:jar

name
Type:String
project的全称

description
Type:String
project的详细描述,Maven在需要描述project时会使用,例如在网页上。该元素也可以指定使用CDATA,从而可以在描述中使用HTML标签,而不允许纯文本表示。如果你需要修改生成网页的主页,能够通过调整这个文本段来定义自己的内容。

url

Type:String
项目主页的URL。
默认值:parent value [+ path adjustment] + artifactId

inceptionYear

Type:String
project的初始两份,由4个数字定义。该值用于生成版权声明相关的信息。

organization
Type:Organization
该元素描述了项目所属组织的多种属性。这些属性在创建文档时被使用(如版权说明或链接)

licenses/license*
Type:List<License>
(Many)该元素描述了本项目的所有license。每个license通过一个license元素描述,通过额外其他的元素进一步描述。项目仅需列出其应用的license列表,不需要列出依赖包所使用的license。如果有多个license被列出,则假定用户可以从中任意选择而不是必需遵循所有的。

developers/developer*
Type:List<Developer>
(Many)描述了项目的提交者(committers)

contributors/contributor*
Type:List<Contributor>
(Many)描述了项目的贡献者(contributors),不包括提交者(committers)。

mailingLists/mainlingList*
Type:List<MainlingList>
(Many)包含项目邮件列表信息

prerequisties
Type:Prerequisites
描述项目编译环境的先决条件(prerequisites)

modules/module*
Type:List<String>
(Many)构建该项目的子模块(有时也叫子项目)。每个module列出包含模块的文件夹的相对路径。为了保持一致,默认的url从parent开始计算,建议将module名称和artifact的id取名一样。

scm
Type:Scm
描述了项目使用的SCM,例如CVS,Subversion等。

issueManagement
Type:IssueManagement
项目发行(issue)管理系统信息。

ciManagement

Type:CiManagement
项目持续集成信息

distributionManagement
Type:DistributionManagement
描述了项目发布(distribution)信息,能够部署站点(site)和artifacts的远程服务器以及各自的repositories。

properties/key=value*
Type:Properties

(Many)Properties能在整个POM中用于替换,也可作为资源的过滤器(filters)。格式为<name>value</name>。


dependencyManagement
Type:DependencyManagement
项目的默认依赖信息从该元素中继承。该元素中的依赖不会立即被解析,而是当有其它POM继承该POM时,通过groupId和artifactId声明一个该元素中描述的依赖时,version和其它值如果未定义,将会从该部分获取来用。


dependencies/dependency*

Type:List<Dependency>
(Many)该元素描述了和项目相关的所有依赖。这些依赖在项目编译过程中构造了相关的classpath。它们能够自动从该项目定义的repositories中下载。可参考the dependency mechanism(http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html)来获取更多信息。

repositories/repository*
Type:List<Repository>
(Many)用于发现依赖或其它的远程repositories的列表

pluginRepositories/pluginRepository*
Type:List<Repository>
(Many)用于发现用于构建或报告的插件的远程repositories列表。

build
Type:Build
用于编译项目的必要信息

reports
Type:DOM
(Deprecated)目前已被Maven忽略

reporting
Type:Reporting
该元素包括report插件的定义,用于在Maven-generated site生成reports。这些reports在用户自行mvn site时将会被自行。所有的报告都会包含在浏览页的导航栏中。

profiles/profile*
List<Profile>
(Many)本地项目编译时的profiles列表,如果被激活能够修改编译过程。











  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值