maven进阶

super pom:

  所有的 POM 都继承自一个父 POM(无论是否显式定义了这个父 POM)。父 POM 也被称作** Super POM **,它包含了一些可以被继承的默认设置。Maven 使用 effective pom(Super pom 加上工程自己的配置)来执行相关的目标,它帮助开发者在 pom.xml。中做尽可能少的配置,当然这些配置可以被方便的重写。查看 Super POM 默认配置的一个简单方法是执行以下命令:

mvn help:effective-pom

占位符:

类似于EL表达式

<scope>...</scope>:管理依赖的部署

1.compile,缺省值,适用于所有阶段,会随着项目一起发布。

2.runtime,只在运行时使用,如JDBC驱动,适用运行和测试阶段。 

3.provided,类似compile,期望JDK、容器或使用者会提供这个依赖。如:需要tomcat来提供servlet.jar。 

4.test,只在测试时使用,用于编译和运行测试代码。不会随项目发布。 比如junit

5.import,用来导入依赖,比如tcdev,打包引入

<version>3.1.0</version>:

<主版本>.<次版本>.<增量版本>-<里程碑版本>

主版本:重大架构变更

次版本:较大范围的功能增加和变化

增量版本:日常bug修复或小需求发布

Snapshot版本与release版本:

  1. Snapshot版本代表不稳定、尚处于开发中的版本,不能应用于线上
  2. maven在编译的时候,会按照一定策略拉去最新的Snapshot版本
  3. release版本代表稳定的版本
  4. 什么情况下该用SNAPSHOT?

maven 依赖冲突:

maven解析规则:

  Rule 1: Nearest First;
  Rule 2: If distance is the same, the one who declare first wins;

jar包版本冲突:

  1. 尽量使用更高的版本
  2. 尽量使用已知最稳定的版本
  3. 不要exclude,除非理由充分

工具插件:

  maven常用工具命令

猜你喜欢

转载自blog.csdn.net/w535921917/article/details/84983556