maven工程下pom文件详解

概述

       之前接触maven管理项目,学习了些皮毛。后来发觉自己之前现查现用这种做法应该是不可取的——对一个问题的解决方案秒秒钟就忘掉了,然后还得查阅博客。今天找时间详细学习了一些pom文件各部分的意义,虽说前路漫漫,但也受益匪浅。

      以现在接触的比较大型的webx工程来看,一个pom文件大致包括以下几个部分:

      <基本内容>

      <dependencies> 

      <parent>

      <dependencyManagement>

      <modules>

      <properties>

     <build>

     <plugin>

     <pluginManagement>

     等等。。

详解:

<基本内容> :  包括:

              <groupId>    项目或者组织的唯一标识
             < artifactId>  项目通用名称
             <version>     项目版本
             <packaging>打包机制
             <name>        用户描述项目名称(可选)
             一般说,前四项就可确定了项目的唯一坐标。

dependencies:

            内部包含若干<dependency>
            {    groupId, artifactId,version 三个基本属性
                 type :默认jar类型
                 scope: 当前包依赖类型
                 optional: false时, 继承这个项目所有的子项目。 true时, 该项目的子项目需要显式引入
                 exclusion :排除某项 }

dependencyManagement:

          通常在最顶层父pom中,让所有在子项目中引用一个依赖而不用显式地列出版本号。

modules:

         将项目分块,达到高内聚,低耦合的目的

properties:

       声明一些常量。如:
       <file.encoding>UTF-8<file.encoding>
      引用时 :  ${file.encoding}

      也可以通过project.xx引用项目的定义的属性,例如: ${project.groupId} 引用当前pom定义的groupId

build:

      defaultGoal  默认目标
      directory   制定buildtarget目标下的目录
      等等

plugin:

       声明项目中所使用的插件

pluginManagement:

       作用类似于dependencyManagement, 定义子项目中的插件。 这样在子项目中使用插件时,可以不用指定其版本,由父项目统一进行管理。

parent:

          如果一个工程是parent 或者aggregation(muti-module), 它的packaging 赋值必须为 pom
          child工程从父工程继承:
           { dependencies
                developers 
               contributors
               plugin lists reports lists
               等等}

          声明自己的parent:
          <parent>
             groupId
             artifactId
             version
           relativePath(可选) :maven首选搜索这个地址,然后搜索远程repositiories
          </parent>

待续。

参考资料:

   《maven配置详解》  http://blog.csdn.net/eclipser1987/article/details/5755603
   《使用maven配置web应用》 http://seanzhou.iteye.com/blog/1407524
   《maven最佳实践》http://juvenshun.iteye.com/blog/305865
   《maven中dependencies和dependency》http://liugang594.iteye.com/blog/1687781
    《maven pom文件详解》http://blog.csdn.net/zhuxinhua/article/details/5788546
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值