依赖的生命周期
通过scope标签可以设定依赖的生命周期,各类型对应生命周期如下。
依赖管理
依赖传递的冲突问题
- 路径优先:当依赖中出现相同的资源时,层级越深,优先级越低,反之越高。
- 声明优先:当资源在同级被依赖时,配置顺序靠前的依赖覆盖顺序靠后的。
特殊优先:当配置了相同资源的不同版本,配置靠后的覆盖前面的。
可选依赖
使用
true|false 来控制依赖是否必须true:该依赖不会被上层知道,或者说依赖不会进行传递
- false:默认值,依赖会进行传递
多环境配置
pom文件配置
<profiles>
<profile>
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<mysql.host>127.0.0.1</mysql.host>
</properties>
</profile>
<profile>
<id>qa</id>
<properties>
<mysql.host>localhost</mysql.host>
</properties>
</profile>
</profiles>
<build>
<resources>
<resource>
<directory>${project.basedir}/src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
</build>
配置文件示例
配置文件放在/src/main/resources目录下mysql.host=${mysql.host}
多环境运行参数
mvn package -P dev|qa