我从Springboot 2.7.6升级到了Springboot 3.0.0;我有一个基于maven的多模块项目
在我的主模块中,我有:
<dependencyManagement>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>3.0.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencyManagement>
在我的一个模块中,我需要使用jaxb。所以我在我的模块中添加了以下内容:
<dependency>
<groupId>org.glassfish.jaxb</groupId>
<artifactId>jaxb-runtime</artifactId>
</dependency>
As far as I understood by reading here https://docs.spring.io/spring-boot/docs/3.0.0/reference/htmlsingle/#appendix.dependency-versions in my child module I should have the version 4.0.1 of jaxb-runtime but, by seeing the dependency tree I see the versione 2.3.5. Any idea?
与此相关的是,似乎有些库不是由子模块继承的。在我的maven dependencyManagement标签中,我必须添加:
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-oauth2-client</artifactId>
<version>6.0.0</version>
</dependency>
<dependency>
<groupId>org.glassfish.jaxb</groupId>
<artifactId>jaxb-runtime</artifactId>
<version>4.0.1</version>
</dependency>
<dependency>
<groupId>org.ehcache</groupId>
<artifactId>ehcache</artifactId>
<version>3.10.8</version>
</dependency>
<dependency>
<groupId>jakarta.validation</groupId>
<artifactId>jakarta.validation-api</artifactId>
<version>3.0.2</version>
</dependency>
以前版本的springboot(2.7.6)运行得很好,我不需要添加以前的任何依赖项,所有这些依赖项都是由springboot bom继承的
你有什么建议吗?
谢谢
安杰洛
- 更新MAVEN版本**
这是我的环境:
Apache Maven 3.8.6 (84538c9988a25aec085021c365c560670ad80f63)
Maven home: /home/angelo/apache-maven
Java version: 17.0.1, vendor: Oracle Corporation, runtime: /usr/lib/jvm/jdk-17.0.1
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "5.15.0-56-generic", arch: "amd64", family: "unix"
1条答案
按热度按时间eit6fx6z1#
我认为你需要仔细检查你的依赖项,如果那些版本是由Sping Boot 依赖项管理来管理的,你应该尽可能的避免使用
<version>
标签。在您的情况下,我认为ehcache依赖项缺少
jakarta
分类器。