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

浙公网安备 33010602011771号