maven pom.xml

来源:互联网 发布:办公室网络架构 编辑:程序博客网 时间:2024/06/05 16:41

Maven项目,依赖,构建配置,以及构件:所有这些都是要建模和表述的对象。这些对 
象通过一个名为项目对象模型(Project Object Model, POM)的XML文件描述。这个POM 
告诉Maven它正处理什么类型的项目,如何修改默认的行为来从源码生成输出。同样 
的方式,一个Java Web应用有一个 web.xml 文件来描述,配置,及自定义该应用,一个 
Maven项目则通过一个 pom.xml 文件定义。

POM包含了四类描述和配置: 
1、项目总体信息 
它包含了一个项目的而名称,项目的URL,发起组织,以及项目的开发者贡献者 
列表和许可证。

2、构建设置 
在这一部分,我们自定义Maven构建的默认行为。我们可以更改源码和测试代码 
的位置,可以添加新的插件,可以将插件目标绑定到生命周期,我们还可以自定 
义站点生成参数。

3、构建环境 
构建环境包含了一些能在不同使用环境中 激活的profile。例如,在开发过程 
中你可能会想要将应用部署到一个而开发服务器上,而在产品环境中你会需要将 
应用部署到产品服务器上。构建环境为特定的环境定制了构建设置,通常它还会 
由 ~/.m2 中的自定义 settings.xml 补充

4、POM关系 
一个项目很少孤立存在;它会依赖于其它项目,可能从父项目继承POM设置,它 
要定义自身的坐标,可能还会包含子模块

<code class="hljs r has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-top-left-radius: 0px; border-top-right-radius: 0px; border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; word-wrap: normal; background: transparent;"><project xmlns=<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"http://maven.apache.org/POM/4.0.0"</span>         xmlns:xsi=<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"http://www.w3.org/2001/XMLSchema-instance"</span>         xsi:schemaLocation=<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"http://maven.apache.org/POM/4.0.0            http://maven.apache.org/xsd/maven-4.0.0.xsd"</span>>    <modelVersion><span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">4.0</span><span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">.0</span></modelVersion>    <!-- 基本设置 -->    <groupId><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">...</span></groupId>    <artifactId><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">...</span></artifactId>    <version><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">...</span></version>    <packaging><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">...</span></packaging>    <dependencies><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">...</span></dependencies>    <parent><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">...</span></parent>    <dependencyManagement><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">...</span></dependencyManagement>    <modules><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">...</span></modules>    <properties><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">...</span></properties>    <!-- 构建过程的设置 -->    <build><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">...</span></build>    <reporting><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">...</span></reporting>    <!-- 项目信息设置 -->    <name><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">...</span></name>    <description><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">...</span></description>    <url><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">...</span></url>    <inceptionYear><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">...</span></inceptionYear>    <licenses><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">...</span></licenses>    <organization><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">...</span></organization>    <developers><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">...</span></developers>    <contributors><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">...</span></contributors>    <!-- 环境设置 -->    <issueManagement><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">...</span></issueManagement>    <ciManagement><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">...</span></ciManagement>    <mailingLists><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">...</span></mailingLists>    <scm><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">...</span></scm>    <prerequisites><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">...</span></prerequisites>    <repositories><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">...</span></repositories>    <pluginRepositories><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">...</span></pluginRepositories>    <distributionManagement><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">...</span></distributionManagement>    <profiles><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">...</span></profiles></project></code>
0 0
原创粉丝点击