2.4. 使用 maven-dependency-plugin maven-dependency-plugin是一个非常有用的工具,可以展示所有依赖及其...
[INFO] \- (org.springframework:spring-core:jar:5.2.7.RELEASE:compile - omitted for conflict with 5.2.0.RELEASE) 通过依赖树,我们可以看到项目已经引入5.2.0版本的spring core包 b、使用路径近者优先原则 即直接依赖级别高于传递依赖。因此我们可以在最先的pom.xml添加如下内容 <dependencies> <dependency> ...
(1)找到传递依赖出现在什么地方 dependency:tree,结果会用层级树的方式展现。而且如果命令行打印补全,可以使用dependency:tree -->tree.txt,将结果输出到tree.txt下 下面就是使用dependency:tree打印出来的一部分内容 [INFO] --- maven-dependency-plugin:2.1:tree (default-cli) @ euler-foundation --- [INFO] ...
1. maven -Dverbose dependency:tree 通过maven -Dverbose dependency:tree 命令查看项目的依赖版本冲突,-(omitted for duplicate) 表示jar包重复依赖,(omitted for conflict with xxx)表示和别的jar包版本冲突,而该行的jar包不会被引入。 再定位到引起依赖版本冲突的jar包 2. maven helper 插件 如果是idea,可以...
<dependency> <groupId>B</groupId> <artifactId>B</artifactId> </dependency> </dependencies> 理包依赖是 Maven 核心功能之一,下面通过如何引入 jar 包;如何解析 jar 包依赖;包冲突是如何产生;如何解决包冲突;依赖管理解决什么问题;什么是依赖范围;使用包依赖的最佳实践等 6 个问题来介绍。
< groupId >com.conflict.group< /groupId > < artifactId >conflict-artifact< /artifactId > < /exclusion > < /exclusions > < /dependency > 3、指定依赖版本 如果项目依赖多个版本的同一个库,Maven默认会使用最高版本。但是你也可以明确指定需要的版本。
<dependency><groupId>com.example</groupId><artifactId>conflict-library</artifactId><version>1.0.0</version><scope>runtime</scope></dependency> AI代码助手复制代码 如果以上方法都无法解决问题,可以考虑升级或降级项目中的某个依赖项,以找到一个与冲突依赖项兼容的版本。
比如我们的项目引入A的依赖C为1.1版本,引入的B会在内部依赖C的1.0版本,那么Dependency Analyzer插件会出现依赖冲突提示,会提示B引入的C的1.0版本和当前选用的C的1.1版本冲突因而被忽略(1.0 omitted for conflict with 1.1)。 如果这时候打war包出来启动很有可能会遇到因依赖冲突而出现的NoClassDefFoundError或NoSuchMethodEr...
比如我们的项目引入A的依赖C为1.1版本,引入的B会在内部依赖C的1.0版本,那么Dependency Analyzer插件会出现依赖冲突提示,会提示B引入的C的1.0版本和当前选用的C的1.1版本冲突因而被忽略(1.0 omitted for conflict with 1.1)。 如果这时候打war包出来启动很有可能会遇到因依赖冲突而出现的NoClassDefFoundError或NoSuchMethodEr...
mvn -Dverbose dependency:tree 当敲入上述命令时,控制台会出现形如下内容 [INFO] org.example:hello:jar:1.0-SNAPSHOT [INFO] +- org.springframework:spring-context:jar:5.2.7.RELEASE:compile [INFO] | +- (org.springframework:spring-aop:jar:5.2.7.RELEASE:compile - omitted for conflict with 5.2.0...