Maven中的DependencyManagement和Dependencies
来源:互联网 发布:原子车车架数据 编辑:程序博客网 时间:2024/05/21 21:09
本文转自:点击打开链接
这里介绍一个在父项目中的根结点中声明dependencyManagement和dependencies的区别
dependencyManagement
Maven 使用dependencyManagement 元素来提供了一种管理依赖版本号的方式。通常会在一个组织或者项目的最顶层的父POM 中看到dependencyManagement 元素。使用pom.xml 中的dependencyManagement 元素能让
所有在子项目中引用一个依赖而不用显式的列出版本号。Maven 会沿着父子层次向上走,直到找到一个拥有dependencyManagement 元素的项目,然后它就会使用在这个dependencyManagement 元素中指定的版本号。
例如在父项目里:
- <dependencyManagement>
- <dependencies>
- <dependency>
- <groupId>mysql</groupId>
- <artifactId>mysql-connector-java</artifactId>
- <version>5.1.2</version>
- </dependency>
- ...
- <dependencies>
- </dependencyManagement>
然后在子项目里就可以添加mysql-connector时可以不指定版本号,例如:
- <dependencies>
- <dependency>
- <groupId>mysql</groupId>
- <artifactId>mysql-connector-java</artifactId>
- </dependency>
- </dependencies>
这样做的好处就是:如果有多个子项目都引用同一样依赖,则可以避免在每个使用的子项目里都声明一个版本号,这样当想升级或切换到另一个版本时,只需要在顶层父容器里更新,而不需要一个一个子项目的修改 ;另外如果某个子项目需要另外的一个版本,只需要声明version就可。
dependencyManagement里只是声明依赖,并不实现引入,因此子项目需要显式的声明需要用的依赖。
dependencies
相对于dependencyManagement,所有声明在dependencies里的依赖都会自动引入,并默认被所有的子项目继承。
classifier
如果你要发布同样的代码,但是由于技术原因需要生成两个单独的构件,你就要使用一个分类器(classifier)。例如,如果你想要构建两个单独的构件成JAR,一个使用Java 1.4 编译器,另一个使用Java 6 编译器,你就可以使用分类器
来生成两个单独的JAR构件,它们有同样的groupId:artifactId:version组合。如果你的项目使用本地扩展类库,你可以使用分类器为每一个目标平台生成一个构件。分类器常用于打包构件的源码,JavaDoc 或者二进制集合。
- Maven中的DependencyManagement和Dependencies
- Maven中的DependencyManagement和Dependencies
- Maven中的DependencyManagement和Dependencies
- Maven中的DependencyManagement和Dependencies
- Maven中的DependencyManagement和Dependencies
- Maven中的DependencyManagement和Dependencies
- Maven中的DependencyManagement和Dependencies
- Maven中的DependencyManagement和Dependencies
- maven中的 dependencies 和 dependencyManagement 的区别
- maven中的 dependencies 和 dependencyManagement 的区别
- maven parent中的dependencies和dependencyManagement区别
- maven中的 dependencies 和 dependencyManagement 的区别
- maven中的 dependencies 和 dependencyManagement 的区别
- Maven中的dependencyManagement和dependencies区别
- maven中的 dependencies 和 dependencyManagement 的区别
- Maven中的DependencyManagement和Dependencies区别
- [摘录] Maven中的DependencyManagement和Dependencies
- Maven中的dependencyManagement和dependencies区别
- Android静态安全检测 -> 资源文件泄露风险
- Android边边角角
- 设计模式之六大原则
- 时间类型转换-指定年的第几周开始时间和结束时间
- awk语法学习
- Maven中的DependencyManagement和Dependencies
- C++中的sort()和qsort()和C中的二维数组传参
- RedHat下安装mysql5.8
- stream_component_open
- 如何用eclispe远程调试tomcat
- github Host key verification failed
- Personal diary of MrWangc (0)
- 计算机网络(六)---IP多播
- 虚拟机 3种网络连接方式区别