当前位置:网站首页>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
边栏推荐
- Project -- high concurrency memory pool
- CString中使用百分号
- How to use AAB to APK and APK to AAB of Google play apps on the shelves
- June to - -------
- Please be prepared to lose your job at any time within 3 years?
- do{}while()的妙用
- Client does not support authentication protocol requested by server; consider upgrading MySQL client
- App移动端测试【5】文件的写入、读取
- Create gradle project
- CString的GetBuffer和ReleaseBuffer使用说明
猜你喜欢
Microservice - declarative interface call openfeign
Three dimensional reconstruction of deep learning
How can technology managers quickly improve leadership?
Rk3399 platform development series explanation (WiFi) 5.54. What is WiFi wireless LAN
“用Android复刻Apple产品UI”(3)—优雅的数据统计图表
nifi从入门到实战(保姆级教程)——flow
Mixlab编辑团队招募队友啦~~
App mobile terminal test [4] APK operation
Nifi from introduction to practice (nanny level tutorial) - flow
Subclass hides the function with the same name of the parent class
随机推荐
Go语言自学系列 | golang中的if else语句
通过进程PID获取可执行文件路径(QueryFullProcessImageName)
Microservices Seata distributed transactions
Go language self-study series | if else if statement in golang
Rk3399 platform development series explanation (WiFi) 5.54. What is WiFi wireless LAN
Unity功能——Unity离线文档下载及使用
“用Android复刻Apple产品UI”(3)—优雅的数据统计图表
Use percent sign in CString
《天天数学》连载56:二月二十五日
How idea starts run dashboard
Microservice API gateway
Microservice - declarative interface call openfeign
Three dimensional reconstruction of deep learning
Mongodb installation and basic operation
[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
CString在多线程中的问题
Client does not support authentication protocol requested by server; consider upgrading MySQL client
Effect of ARP package on FTP dump under vxworks-6.6 system
App移动端测试【5】文件的写入、读取
软件逆向破解入门系列(1)—xdbg32/64的常见配置及功能窗口