Maven学习

相关概念
依赖配置:
依赖指当前项目运行需要的 jar,一个项目可以设置多个依赖
依赖传递:
直接依赖
在当前项目中通过依赖配置建立的依赖关系
间接依赖
当前项目直接依赖资源(比如A), 而A又依赖资源(B),可以说当前项目间接依赖资
源(B)
依赖冲突
1.路径优先∶当依赖中出现相同的资源时,层级越深,优先级越低,层级越浅,优先级
越高
2.声明优先∶当资源在相同层级被依赖时,配置顺序靠前的覆盖配置顺序靠后的
3.特殊优先∶当同级配置了相同资源的不同版本,后配置的覆盖先配置的
可选依赖
可选依赖指对外隐藏当前所依赖的资源
<optional>true</optional>
默认是 false , 即不隐藏,设置为 true , 即隐藏。
排除依赖
排除依赖指主动断开依赖的资源, 被排除的资源无需指定版本
<exclusions>
<exclusion>
<groupId></groupId>
<artifactId></artifactId>
</exclusion>
</exclusions>
依赖范围
依赖的 jar 默认情况可以在任何地方使用, 通过 scope 标签设定其作用范围
<scope>compile</scope>

Maven 项目构建生命周期
生命周期的 3 大阶段
1、 clean∶清理工作

2、default∶核心工作,例如编译,测试,打包,部署等

3、site∶产生报告,发布站点等

maven 插件
插件与生命周期内的某个阶段绑定,在执行到对应生命周期时, 由对应插件来完成任务/功能
maven插件: http://maven.apache.org/plugins/index.html
<!--在 build 时,自定义的插件 -->
<build>
<plugins>
<plugin>
<!-- 插件坐标 -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>2.2.1</version>
<executions>
<execution>
<goals>
<!-- 对主程序输出源码打包 -->
<goal>jar</goal>
<!-- 对测试程序输出源码打包 -->
<goal>test-jar</goal>
</goals>
<!-- 在 generate-test-resources 阶段执行
根据maven生命周期-->
<phase>generate-test-resources</phase>
</execution>
</executions>
</plugin>
</plugins>
</build>

浙公网安备 33010602011771号