pom.xml详解

详情参考:史上最全的Maven Pom文件标签详解

父项目 非必须

<!-- 父项目  -->
<!-- 所有的 POM 都继承自一个父 POM(无论是否显式定义了这个父 POM),超级pom为 effective-pom-->
<!-- mvn help:effective-pom :会打印出一个XML文档,该文档的内容是超级POM和项目POM内容的合并。 -->
<parent>
    <!-- 父项目基础信息  -->
    <groupId></groupId><artifactId></artifactId><version></version>
    
    <!-- 父项目的pom.xml文件的相对路径  默认值是../pom.xml  -->
    <!-- Maven首先在构建当前项目的地方寻找父项 目的pom,其次在文件系统的这个位置(relativePath位置),然后在本地仓库,最后在远程仓库寻找父项目的pom -->
    <relativePath></relativePath>
</parent>

项目构建环境中的前提条件 非必须

<prerequisites> 
    <-- 定义依赖maven的最低版本 -->
    <maven.compiler.source>1.8</maven.compiler.source>
</prerequisites> 

必须的基础标签

  <!-- 这个标签必须存在,而且它的值必须是4.0.0,这标志着我们现在使用的是maven2。 -->
  <modelVersion>4.0.0</modelVersion>
  <!-- 下面三个 确定一个项目 以及不同的版本-->
  <groupId>com.family168.maven2book</groupId>
  <artifactId>ch07</artifactId>
  <!-- 版本号格式为:主版本.次版本.增量版本-限定版本号 -->
  <version>1.0</version>

其他标签

    <!--项目产生的构件类型,例如jar、war、ear、pom。插件可以创建他们自己的构件类型,所以前面列的不是全部构件类型-->
    <packaging></packaging>
    <!-- 项目的问题管理系统 -->
    <issueManagement></issueManagement>
    <!-- 项目持续集成信息 用于项目构建成功、失败、错误等 通知到具体的系统 -->
    <ciManagement></ciManagement>
    <!--项目相关邮件列表信息-->
    <mailingLists></mailingLists>
    <!--项目开发者列表-->
    <!--项目的其他贡献者列表-->
    <contributors></contributors>
    <developers></developers>
    <!-- 项目创建年份,4位数字。当产生版权信息时需要使用这个值 -->
    <inceptionYear></inceptionYear>
    <!-- 该元素描述了项目所有License(执照)列表 -->
    <licenses></licenses>
    <!--SCM(Source Control Management)标签允许你配置你的代码库,供Maven web站点和其它插件使用。-->
    <scm></scm>
  • Maven产生的文档用所需标签
      <!-- 项目名称 -->
      <name></name>
      <!-- 项目主页的URL -->
      <url></url>
      <!-- 项目的详细描述 -->
      <description></description>
      <!--描述项目所属组织的各种属性 -->
      <organization></organization>

依赖管理

     <!-- dependencyManagement 不是必选 用來定义版本号 -->
      <dependencyManagement>
        <!-- dependencies 管理所有的 dependency(依赖) -->
        <dependencies>
          <!-- 单独的一个dependency 必须包含maven 三个最小单元 groupId 、artifactId、version  -->
          <!-- 如果沒有定义 version ,maven会去 dependencyManagement 找对应的版本号,可以定义在当前pom,当前没有找父pom -->
          <dependency> </dependency>
        </dependencies>
      </dependencyManagement>

项目构建


  <!--产生的构件的文件名,默认值是${artifactId}-${version}。-->  
  <finalName/>  

  <!--子项目可以引用的默认插件信息。该插件配置项直到被引用时才会被解析或绑定到生命周期。给定插件的任何本地配置都会覆盖这里的配置-->  
  <pluginManagement>  
   <!--使用的插件列表 。-->  
   <plugins>  
    <plugin>  
     <!--在构建生命周期中执行一组目标的配置。每个目标可能有不同的配置。-->  
     <executions>  
      <!--execution元素包含了插件执行需要的信息-->  
      <execution>  
       <!--绑定了目标的构建生命周期阶段,如果省略,目标会被绑定到源数据里配置的默认阶段-->  
       <phase/>  
       <!--配置的执行目标-->  
       <goals/>  
       <!--配置是否被传播到子POM-->  
       <inherited/>  
       <!--作为DOM对象的配置-->  
       <configuration/>  
      </execution>  
     </executions>  
     <!--项目引入插件所需要的额外依赖-->  
     <dependencies>  
      <!--参见dependencies/dependency元素-->  
      <dependency>  
       ......  
      </dependency>  
     </dependencies>       
     <!--任何配置是否被传播到子项目-->  
     <inherited/>  
     <!--作为DOM对象的配置-->  
     <configuration/>  
    </plugin>  
   </plugins>  
  </pluginManagement>  
  <!--使用的插件列表-->  
  <plugins>  
 </pluginManagement>  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值