导入时如何定制spring-boot依赖项的版本
2015-06-22 13:32
786 查看
spring-boot通过maven的依赖管理为我们写好了很多依赖项及其版本,我们可拿来使用。spring-boot文档介绍了两种使用方法,一是继承,二是导入。
通过<parent>继承:
或者在<dependencyManagement>中导入:
此外,在其文档里说到,继承时可简单地通过属性定制依赖项版本。比如,改为使用较新的spring-4.1.6.RELEASE版本:
不过,此法只对继承有效,导入无效。以下摘自其文档说明:
这里说到,如要导入后修改依赖项版本就只能自己重新去定义了。
需要注意的是,导入后再重新定义既繁琐又不安全。比如,spring-boot定义了8个tomcat依赖项,如果你导入后只重定义了部分tomcat依赖项及其版本,则将造成版本不一致的问题。
那么导入时有没有既简单又安全的方法呢?我们可先继承后导入!
1、先建一个过渡性工程,继承后定制依赖项的版本。
2、然后导入到自己的工程里。
这样,虽然多建了一个过渡性工程,但定制依赖项版本同继承时一样简单。
通过<parent>继承:
<project> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.1.9.RELEASE</version> </parent> </project>
或者在<dependencyManagement>中导入:
<dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-dependencies</artifactId> <version>1.1.9.RELEASE</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement>
此外,在其文档里说到,继承时可简单地通过属性定制依赖项版本。比如,改为使用较新的spring-4.1.6.RELEASE版本:
<properties> <spring.version>4.1.6.RELEASE<spring.version> </properties>
不过,此法只对继承有效,导入无效。以下摘自其文档说明:
This only works if your Maven project inherits (directly or indirectly) from spring-boot-dependencies. If you have added spring-boot-dependencies in your own dependencyManagement section with <scope>import</scope> you have to redefine the artifact yourself instead of overriding the property.
这里说到,如要导入后修改依赖项版本就只能自己重新去定义了。
需要注意的是,导入后再重新定义既繁琐又不安全。比如,spring-boot定义了8个tomcat依赖项,如果你导入后只重定义了部分tomcat依赖项及其版本,则将造成版本不一致的问题。
那么导入时有没有既简单又安全的方法呢?我们可先继承后导入!
1、先建一个过渡性工程,继承后定制依赖项的版本。
<project> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-dependencies</artifactId> <version>1.1.9.RELEASE</version> </parent> <groupId>mycomp</groupId> <artifactId>myproject-spring-boot-bom</artifactId> <version>1.1.9</version> <packaging>pom</packaging> <properties> <spring.version>4.1.6.RELEASE</spring.version> </properties> </project>
2、然后导入到自己的工程里。
<project> <modelVersion>4.0.0</modelVersion> <groupId>mycomp</groupId> <artifactId>myproject</artifactId> <version>0.0.1-SNAPSHOT</version> <dependencyManagement> <dependencies> <dependency> <groupId>mycomp</groupId> <artifactId>myproject-spring-boot-bom</artifactId> <version>1.1.9</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> </project>
这样,虽然多建了一个过渡性工程,但定制依赖项版本同继承时一样简单。
相关文章推荐
- java基础—文件的切割与合并
- mysql数据源spring配置
- Struts的中文filter
- java枚举小结
- JAVA抽象类和接口的深入探讨
- windows下双击可运行的Java软件打包方案(转)
- java实现xml文件CRUD
- Ubuntu14.04安装JDK
- java-String中的 intern()
- Spring拦截器与过滤器的区别
- java学习之旅05--Helloworld深化,文本编辑器的使用,注释
- java带001的数值格式化
- Struts2(八)国际化
- 使用Google Elevation API获取海拔高度(java版)
- 2015年06开始学习Java
- 69道Spring面试题和答案
- 在查看源码时Eclipse提示source not found
- java、groovy中文转码
- Java常量池详解之一
- groovy、java生成随机数32位