Chinaunix首页 | 论坛 | 博客
  • 博客访问: 130762
  • 博文数量: 47
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 243
  • 用 户 组: 普通用户
  • 注册时间: 2014-11-18 11:45
文章分类

全部博文(47)

文章存档

2017年(2)

2015年(33)

2014年(12)

分类: Java

2014-11-24 18:55:00

pom.xml中相关标签说明
1、groupId  定义当前Maven项目隶属项目
2、artifactId  定义实际项目中的一个模块
3、version  定义当前项目的版本号
    maven snapshot和release版本区别:
        snapshot 快照仓库,用于存放开发过程中不稳定版本,在不更改版本号的情况下,直接编译打包时,maven会自动从镜像服务器上下载最新的快照版本
        release  正式仓库,存放稳定版本,在不更改版本号的情况下,编译打包时如果本地已经存在该版本的模块则不会主动去镜像服务器上下载
4、packing  定义该项目的打包方式
5、scope 依赖范围,包括如下:
        compile: 默认编译依赖范围。对于编译,测试,运行三种classpath都有效
        test:测试依赖范围。只对于测试classpath有效
        provided:已提供依赖范围。对于编译,测试的classpath都有效,但对于运行无效。因为由容器已经提供,例如servlet-api
        runtime:运行时提供。例如:jdbc驱动    
6、依赖声明:
      
           
                junit
                junit
                4.10
                test
          
    
     

7、exclusions    排除依赖,排除依赖包中所包含的依赖关系,不需要添加版本,直接类别清除
        
            
                所包含的坐标 
8、parent  声明父工程:
       parent使用方法如下:
        
            
            
            
            ../父工程项目名
      

        relativePath是可选的,maven会首先搜索这个地址,再搜索本地远程repositories
        注意:如果工程为父工程,则必须在packing赋值为pom
9、dependencyManagement  父工程统一管理子工程依赖版本,集中管理
        子工程仅仅添加依赖包,无需添加版本,版本由父工程继承而来
10、properties  为进一步便于管理,将所有的版本管理设置在一起,设置为系统属性值
          
            4.9
            ……
         

          注意:引用时使用${junit.version},只能在依赖范围设置
11、modules 一次构建多个项目模块(快速构建项目)
         
            ../子项目名称1
            ../子项目名称2
            ../子项目名称3
        

12、build  用于管理插件目标
         directory:指定build target目标的目录,默认为$(basedir}/target,即项目根目录下的target
         finalName:指定去掉后缀的工程名字,例如:默认为${artifactId}-${version}
         filters:用于定义指定filter属性的位置
         resources:描述工程中资源的位置
             targetPath:指定build资源到哪个目录,默认是base directory
             filtering:指定是否将filter文件的变量值在这个resource文件有效
13、plugin
         extensions:true或false, 是否要加载这个plugin的extensions,默认为true
         inherited:是否让子pom继承,默认为true
         configuration:通常用于私有不开源的plugin,不能够详细了解plugin的内部工作原理,但使plugin满足的properties
         executions:设定plugin的目标,plugin有很多个目标,每个目标具有不同的配置
              phase:声明goals执行的时期
              inherited:是否传递execution到子pom里
              configuration:设置execution下列表的goals的设置,而不是plugin所有的goals的设置
14、distributionManagement  用于配置分发管理,配置相应的产品发布信息,主要用于发布,在执行mvn deploy后表示要发布的位置
15、snapshotRespository 
        id  远程仓库唯一标识符。可用来匹配在settings.xml文件里配置的远程仓库

          name  远程仓库名称    
          url  远程仓库URL,按protocol://hostname/path形式    
16、snapshots
         enabled  true或者false表示该仓库是否为下载某种类型构件(发布版,快照版)开启
         updatePolicy   指定更新发生的频率,Maven会比较本地POM和远程POM的时间戳。这里的选项是:always(一直),daily(默认,每日),interval:X(这里X是以分钟为单位的时间间隔),或者never(从不)
         checksumPolicy   当Maven验证构件校验文件失败时的动作:ignore(忽略),fail(失败),或者warn(警告)
阅读(1084) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~