当前位置:网站首页>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
边栏推荐
- Detailed pointer advanced 1
- 无心剑中译泰戈尔《漂鸟集(1~10)》
- Principles of several common IO models
- 潘多拉 IOT 开发板学习(HAL 库)—— 实验5 外部中断实验(学习笔记)
- Microservice sentinel flow control degradation
- The accept attribute of the El upload upload component restricts the file type (detailed explanation of the case)
- Detailed explanation of string function and string function with unlimited length
- Getting started with Message Oriented Middleware
- 2022年Q2加密市场投融资报告:GameFi成为投资关键词
- Detailed explanation of four modes of distributed transaction (Seata)
猜你喜欢
[proteus simulation] 8 × 8LED dot matrix screen imitates elevator digital scrolling display
Creation and destruction of function stack frames
App移动端测试【4】apk的操纵
Getting started with Message Oriented Middleware
QT use qzxing to generate QR code
Secsha system 1- login function
WinDbg analysis dump file
Microservice API gateway zuul
Unityshader - materialcapture material capture effect (Emerald axe)
【OpenCV 例程200篇】217. 鼠标交互获取多边形区域(ROI)
随机推荐
Detailed explanation of string function and string function with unlimited length
ASEMI整流桥UMB10F参数,UMB10F规格,UMB10F封装
Pandora IOT development board learning (HAL Library) - Experiment 5 external interrupt experiment (learning notes)
UnityShader——MaterialCapture材质捕捉效果 (翡翠斧头)
Q2 encryption market investment and financing report in 2022: gamefi becomes an investment keyword
[proteus simulation] 74hc595+74ls154 drive display 16x16 dot matrix
突破100万,剑指200万!
Introduction series of software reverse cracking (1) - common configurations and function windows of xdbg32/64
How to thicken the brush in the graphical interface
Semi supervised learning
From "zero sum game" to "positive sum game", PAAS triggered the third wave of cloud computing
大csv拆分和合并
初试scikit-learn库
高等数学(第七版)同济大学 习题2-1 个人解答
Client does not support authentication protocol requested by server; consider upgrading MySQL client
CString在多线程中的问题
The difference between calling by value and simulating calling by reference
[web security] - [SQL injection] - error detection injection
Project -- high concurrency memory pool
Please be prepared to lose your job at any time within 3 years?