Maven 笔记

Lifecyle: 

     http://maven.apache.org/ref/3.5.0/maven-core/lifecycles.html

Maven tag说明

  • <packaging>

    • pom :管理maven module的parent module
    • jar : 默认type:
    • war、ear etc

    <usl>、<description>: project's site, basic description   这两个用于生成文档

    <scope>: compile (default)、runtime(运行时用的包,编译时不需要)、test 、provided(由容器提供的包)

    <dependencymanagement>http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#Dependency_Management 

    集中管理依赖,然后子模块通过坐标引用预定义的依赖,完整的引用是 {groupId, artifactId, type, classifier}. type默认为jar,classifier默认为null,当不是默认值时,需要显式声明

Maven plugin: 

  • cobertura-maven-plugin   统计UT,test coverrage
  • maven-surefire-plugin 执行UT,并生成报告
  • maven-compiler-plugin  编译 application source;默认绑定到mvn  compile
  • maven-deploy-plugin 
  • maven-resources-plugin  拷贝resources和test-resources
  • maven-jar-plugin 打包

maven 命令:

  • mvn dependency:analyze 分析依赖的使用情况
  • mvn dependency:tree  进一步分析依赖树
  • mvn jar:jar 只打包

实践:

  • 优化依赖:共同依赖放到父pom中; 兄弟依赖使用共同的groupid和version
  • 优化插件:共同插件上移到父pom

 

官方文档:

http://maven.apache.org/ref/3.5.0/maven-model/maven.html  

posted @ 2017-07-26 16:52  ridox  阅读(77)  评论(0)    收藏  举报