当前位置:网站首页>Record a jar package conflict resolution process
Record a jar package conflict resolution process
2022-07-03 16:06:00 【Longchi Xiaosheng】
Problem description :
I'm doing a function , Need to use org.apache.curator Under the curator-framework jar package , An error is reported during program operation , Compare other items 、 Looking up the data, we found that curator-framework Package version is too high , No corresponding method was found , After excluding the package of higher version , Start up project error , According to the startup log, it is found that com.google.guva.guava Of jar Packet collision , Reintroduce guava Package problem solving .
1、 Program running error ,jar Packet collision
Error message :
java.lang.NoSuchMethodError: org.apache.curator.framework.api.CreateBuilder.creatingParentContainersIfNeeded()Lorg/apache/curator/framework/api/ProtectACLCreateModePathAndBytesable;
Problem investigation and solution :
To find the way :org.apache.curator.framework.api.CreateBuilder.creatingParentContainersIfNeeded

There is no way creatingParentContainersIfNeeded, And found that curator There are two versions under the package ,4.0.1 and 2.9.1, Then I compared the previous projects to curator The version is 2.9.1, Sure is Package version conflicts , Should introduce curator-framework 2.9.1 Version package of .

lookup curator-framework Quote trees ,idea Of terminal Carry out orders
mvn dependency:tree -Dverbose -Dincludes=org.apache.curator:curator-framework
maven Rely on trees :

Reference found 4.0.1 Version of pom And exclude :

After exclusion :

2、 Project start error ,jar Packet collision :
After the above problems are solved , Start up project error :
The main idea of the error message description is not found jar Bag sameThreadExecutor Method , again jar The conflict ,23.0 Version of guava Package does not have this method .
An attempt was made to call the method com.google.common.util.concurrent.MoreExecutors.sameThreadExecutor()Lcom/google/common/util/concurrent/ListeningExecutorService; but it does not exist. Its class, com.google.common.util.concurrent.MoreExecutors, is available from the following locations:
jar:file:/C:/Users/Administrator/.m2/repository/com/google/guava/guava/23.0/guava-23.0.jar!/com/google/common/util/concurrent/MoreExecutors.class
It was loaded from the following location:
file:/C:/Users/Administrator/.m2/repository/com/google/guava/guava/23.0/guava-23.0.jar
Action:
Correct the classpath of your application so that it contains a single, compatible version of com.google.common.util.concurrent.MoreExecutors
Compare other items ,guava Package introduces 20.0 Version of .
stay pom To reintroduce pom rely on , Cover 23.0 Version of the package , The project started successfully :
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>20.0</version>
</dependency>maven View dependent commands :
View specified jar The dependency tree of the package :
mvn dependency:tree -Dverbose -Dincludes=org.apache.curator:curator-framework
View all of the items jar The dependency tree of the package :
mvn dependency:tree
View all of the items jar The dependency tree of the package , And output to the specified file :
mvn dependency:tree>D:\maven.txt
边栏推荐
- 阿飞的期望
- Wechat payment -jsapi: code implementation (payment asynchronous callback, Chinese parameter solution)
- [web security] - [SQL injection] - error detection injection
- Q2 encryption market investment and financing report in 2022: gamefi becomes an investment keyword
- Create gradle project
- 用通达信炒股开户安全吗?
- Nifi from introduction to practice (nanny level tutorial) - flow
- Microservice API gateway zuul
- [combinatorics] combinatorial identities (sum of variable terms 3 combinatorial identities | sum of variable terms 4 combinatorial identities | binomial theorem + derivation to prove combinatorial ide
- [list to map] collectors Tomap syntax sharing (case practice)
猜你喜欢

Microservice - declarative interface call openfeign

From the 18th line to the first line, the new story of the network security industry

Stm32f103c8t6 firmware library lighting

Redis installation under windows and Linux systems

Microservice API gateway zuul

UnityShader——MaterialCapture材质捕捉效果 (翡翠斧头)

Nifi from introduction to practice (nanny level tutorial) - flow

2022年Q2加密市场投融资报告:GameFi成为投资关键词

Rk3399 platform development series explanation (WiFi) 5.54. What is WiFi wireless LAN

深度学习之三维重建
随机推荐
App移动端测试【4】apk的操纵
Creation and destruction of function stack frames
[list to map] collectors Tomap syntax sharing (case practice)
App mobile terminal test [3] ADB command
切入点表达式
Go语言自学系列 | golang中的if else语句
Low level version of drawing interface (explain each step in detail)
[combinatorics] combinatorial identity (sum of variable upper terms 1 combinatorial identity | summary of three combinatorial identity proof methods | proof of sum of variable upper terms 1 combinator
Approval process design
MongoDB 的安装和基本操作
Driver and application communication
Brush questions -- sword finger offer
Mixlab编辑团队招募队友啦~~
阿飞的期望
Use percent sign in CString
Jmeter线程组功能介绍
Reading notes of "micro service design" (Part 2)
WinDbg analysis dump file
几种常见IO模型的原理
Get the executable path through the process PID (queryfullprocessimagename)