DepencyManagement
由于模块很多,所以又抽象了一层,抽出一个itoo-base-parent来管理子项目的公共的依赖。为了项目的正确运行,必须让所有的子项目使用依赖项的统一版本,必须确保应用的各个项目的依赖项和版本一致,才能保证测试的和发布的是相同的结果。
dependencyManagement里只是声明依赖,并不实现引入,因此子项目需要显示的声明需要用的依赖。如果不在子项目中声明依赖,是不会从父项目中继承下来的;只有在子项目中写了该依赖项,并且没有指定具体版本,才会从父项目中继承该项,并且version和scope都读取自父pom;另外如果子项目中指定了版本号,那么会使用子项目中指定的jar版本。
Dependencies
所有生命在dependencies里的依赖都会自动引入,并默认被所有的子项目继承。
dependencies即使在子项目中不写该依赖项,那么子项目仍然会从父项目中继承该依赖项(全部继承)
附录
src | 源代码和测试代码的根目录 |
src/main | 应用代码的源目录 |
src/main/java | 源代码 |
src/main/resources | 项目的资源文件 |
test | 测试代码的源目录 |
test/java | 测试代码 |
test/resources | 测试的资源文件 |
target | 编译后的类文件、jar文件等 |