Maven 子模块继承父模块依赖
当在Maven的父模块中声明某个依赖,所有的子模块默认都会继承这个依赖。这意味着你不需要在子模块中再次声明这些依赖。但有几点需要注意:
1. 继承
- 子模块会继承父模块中定义的所有依赖。
- 这意味着父模块中的所有
<dependency>
都会自动成为子模块的依赖。
2. 版本
- 如果在子模块中需要覆盖某个依赖的版本,仍然可以在子模块的POM中声明那个依赖,并指定一个新的版本。
3. 范围
- 同样地,如果在子模块中需要改变某个依赖的范围(比如从
compile
改为test
),你也可以在子模块的POM中重新声明那个依赖。
4. 父模块指向
- 确保子模块的
<parent>
部分正确指向了父模块的groupId
、artifactId
和version
。
示例
如果父模块已经声明了诸如fastjson
, jackson-databind
等依赖,为了使子模块可以使用这些依赖,确保子模块的<parent>
部分如下:
<parent>
<groupId>com.example</groupId>
<artifactId>springboot-weixin-app</artifactId>
<version>1.0.0</version>
<relativePath/>
</parent>
遵循以上规则,子模块就会自动继承父模块的所有依赖,无需再次声明。