Maven元素解析——pom.xml

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Maven元素解析——pom.xml相关的知识,希望对你有一定的参考价值。

转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6628201.html 

    一个pom.xml中包含了许多标签,各个标签是对项目生命周期、依赖管理的配置。常用的主要有:

    1:<peoject>:pom.xml的根标签,一个maven项目用一对<peoject></project>标签包裹。

    2:<modelVersion>:maven的版本

    3:当前项目的坐标以及打包方式:

        <groupId>:企业网址反写+项目名

        <artifactId>:项目名-模块名

        <version>:版本号+类型

                        版本号由三个整数表示,每个整数用“.”分隔,表示:大版本号.分支版本号.小版本号

                        类型:版本类型。主要有:snapshot快照版本(简化版本)、alpha内测版、beta公测版、release稳定版、GA正式发布版

        <packaging>:打包类型,默认是jar,可以配置成war、zip、pom类型。

    4:<name>:当前项目名

    5:<url>:项目地址

    6:<description>:项目描述信息

    7:<developers>:开发者信息

    8:<licenses>:项目许可证信息,用来发布时授予别人使用此项目的权利

    9:<organization>:组织信息,企业信息

    以上都是对这个maven项目的相关信息配置。

    10:依赖标签

<dependencies>

    <!--一个依赖包-->
    <dependency>

       <!--通过坐标指定依赖包-->
        <groupId>        </groupId>
        <artifactId>      </artifactId>
        <version>        </version>

        <!--可选项:依赖范围。有六个可选值:常用compile/provided/test/runtime等-->
        <scope>一个范围</scope>
        <!--可选项:排除依赖传递:即:当前项目依赖当前配置的依赖包A时,如果这个依赖包又依赖其他包B,这里可以选择排除依赖的传递性,不下载导入B-->
         <exclusions>
            <exclusion>
              <!--被排除的依赖包坐标-->
              <groupId> </groupId>
              <artifactId> </artifactId>
              <version> </version>
            </exclusion>
         </exclusions>
    </dependency>
</dependencies>

 

    11:依赖管理标签:主要用于制定父pom.xml,其他项目可以继承这个pom.xml,从而避免重复定义某些depency。

<depencyManagement>
    <depencies>
       <depency>
           依赖包的坐标...
       </depency>
    </depencies>
</depencyManagement>

    12:<build>:项目支持标签,一般用来引入插件

<build>
    <plugins>
      <plugin>
         <!--插件坐标-->
         <groupId>         </groupId>
         <artifactId>         </artifactId>
         <version>         </version>

         其他设置...

      </plugin>
    </plugins>
</build>

    13:<parent>:继承标签,用于继承父pom.xml

    14:<moudules>:聚合标签,用于聚合多个pom.xml,这样执行这个pom就会把聚合的各个pom全部执行,同时处理多个项目。

    示例:一个简单的构建JavaWeb项目的pom.xml如下:

<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>com.test</groupId>
  <artifactId>WebApp</artifactId>
  <packaging>war</packaging>
  <version>1.0</version>
  
  <name>WebApp Maven Webapp</name>
  <url>http://maven.apache.org</url>
  
  <dependencies>    
    <dependency>
      <groupId>commons-fileupload</groupId>
      <artifactId>commons-fileupload</artifactId>
      <version>1.2.1</version>
    </dependency>
    
    <!--commons-io为commons-fileupload的可选依赖包-->
    <dependency>
      <groupId>commons-io</groupId>
      <artifactId>commons-io</artifactId>
      <version>1.3.2</version>
    </dependency>
  </dependencies>
  
  <build>
    <finalName>WebApp</finalName>
  </build>
</project>

 

以上是关于Maven元素解析——pom.xml的主要内容,如果未能解决你的问题,请参考以下文章

Maven中的pom.xml文件超详细解析

maven中的pom.xml解析

6.maven的pom.xml配置文件中常用的配置标签解析

如何在pom.xml文件中修改build节点

eclipse加载maven工程提示pom.xml无法解析

如何使用 Maven 从 pom.xml 中的 settings.xml 访问元素?