在我正在进行的项目中,我的团队有以下pom文件:
UICollectionViewCell
我已经在Intellij提供的Maven工具栏中附加了Maven依赖项的屏幕截图,该工具栏来自此POM文件。
请注意,只有在我们尝试添加spring-boot JPA依赖项时才会出现红色突出显示的部分。没有它,我们的项目工作正常。看起来Maven正在重新添加已添加的依赖项,这很奇怪,因为例如Hystrix与JPA没有任何关系。
任何人都知道如何解决这个问题?
答案 0 :(得分:0)
Maven似乎可以传递地添加依赖项,因此您可以获得与相关版本相关的额外依赖项。
您可以尝试根据需要排除其他依赖项。 请参阅:Exclude all transitive dependencies of a single dependency
答案 1 :(得分:0)
要验证是否是再次拉入这些jar的jpa依赖项,可以在与pom.xml相同的目录中运行以下命令
mvn dependency:tree -Dverbose
这将显示依赖关系来源的输出,只搜索重复项。
您可以将排除标记添加到可能过渡到这些库中的任何内容,例如:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
<exclusions>
<exclusion>
<groupId>*</groupId>
<artifactId>*</artifactId>
</exclusion>
</exclusions>
</dependency>
从Maven 3.2.1开始,您可以使用通配符排除传递依赖项。
或者,如果您不想使用*外卡,请明确说明groupId和artifactId。
答案 2 :(得分:0)
它不是一个错误,它是一个警告。
有关重复依赖项的警告。
如果添加spring-boot-jpa依赖项,则间接添加其他spring-boot依赖项。但是如果严格添加spring-boot,则会忽略spring-boot-jpa的间接依赖关系,并且可能会因不兼容而解决。
请删除spring-boot以使用spring-boot-jpa树。