1. 依赖管理
modules
这个属性里面是此模块下的所有子模块,新建子模块时会自动加入,从文件导入子模块时不会自动加入,需要手动填写。
Dependencies
这个属性是引入依赖。里面可以放入jar包的坐标。有了这些坐标后,idea就会根据这些坐标去setting里面设置的远程仓库中下载对应的jar包,同时还会处理里面的依赖关系。如果有打包好的jar包,可以file->project structure->libary 中手动加入依赖,不要在pom中声明。
DepencyManagement
父工程的pom文件中添加这个属性,然后把重复的依赖坐标放入里面包括 <groupid>,<artifactId>,<version> 。接着在子模块的pom文件中引用父工程即可(<parent>标签)。同时记得要在子模块中引入所需的依赖(<dependency>标签内)。
这样之后,虽然子模块还是要写一些重复的依赖坐标。但可以不用指定版本号了,因为父工程帮我们统一了版本号。还有一个好处,假设要升级mybatis的版本号,那我们直接在父工程的pom文件中的<DepencyManagement>属性内,修改对应坐标的版本号即可,无需在一个又一个的子模块pom文件中修改。父工程只是声明依赖,并不是真正的引入,只为版本控制。
properties
这个属性里面一般写一些组件的版本号,<dependencies>里面的<version>可以通过${}直接调用,版本更替时可以直接修改该属性而无需修改每个dependencies。