pom.xml配置文件中的dependencies与dependencyManagement有什么区别?在使用上有什么注意要点呢?测试
dependencyManagement主要用来控制全部子项目依赖的版本号。code
为了项目的正确运行,必须让全部的子项目使用依赖项的统一版本,必须确保应用的各个项目的依赖项和版本一致,才能保证测试的和发布的是相同的结果。xml
dependencyManagement中依赖的版本号,是当前全部子项目依赖的默认版本号。ci
若是dependencies与dependencyManagement中的依赖版本号不一样,则选用dependencies的依赖版本号。io
若是dependencyManagement中有不少依赖,在修改某一个依赖的版本号时会产生查找不便的问题。class
可使用<properties></properties>以变量的形式将版本号汇集在一块儿,便于后续维护。变量
1. <properties> 2. <commons.httpclient>3.1</commons.httpclient> 3. </properties> 5. <dependencies> 6. <!--httpclient--> 7. <dependency> 8. <groupId>commons-httpclient</groupId> 9. <artifactId>commons-httpclient</artifactId> 10. </dependency> 11. </dependencies> 13. <dependencyManagement> 14. <!--httpclient--> 15. <dependency> 16. <groupId>commons-httpclient</groupId> 17. <artifactId>commons-httpclient</artifactId> 18. <version>${commons.httpclient}</version> 19. </dependency> 20. </dependencyManagement>