我有一个Maven多模块项目,它在主pom.xml中将一些旧版本的spring-boot-dependencies设置为parent.所有子模块都从此主pom.xml继承spring boot依赖项.
这很好但是在一个新的子模块(也是多模块)中我想使用最新的spring引导版本而不改变项目中正在使用的那个(连同所有依赖项).
有没有办法聪明地覆盖从父派生的弹簧引导版本(及其所有依赖项)并在子模块中使用不同的版本?我试图<spring-boot.version>在所有新模块的子模块的pom.xml文件中的属性中设置spring boot的显式版本,但没有运气.
有没有办法聪明地覆盖从父派生的弹簧引导版本(及其所有依赖项)并在子模块中使用不同的版本?
当您使用特定版本的Spring Boot作为父级(或祖父母等)时,您说这是您要使用的Spring Boot版本.
我试图在所有新模块的子模块的pom.xml文件中的属性中设置spring boot的显式版本,但没有运气.
如果这确实有效,你最终会得到Spring Boot X版本的父版本,其配置包括该版本的Maven插件管理以及Spring Boot版本Y的依赖项.这种版本的混合可能导致奇怪和意外的行为.很难诊断.
如果你想能够混合和匹配这样的版本,你应该避免使用Spring Boot中的父级,而应该导入spring-boot-dependencies:
<dependencyManagement>
<dependencies>
<dependency>
<!-- Import dependency management from Spring Boot -->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>1.3.2.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
Run Code Online (Sandbox Code Playgroud)
这使您可以完全控制版本,但代价是必须自己定义所需的任何插件管理.值得注意的是,您无法覆盖导入的pom中的属性.
| 归档时间: |
|
| 查看次数: |
4473 次 |
| 最近记录: |