博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Intellij+maven:jar包冲突的解决方法(Hbase和Guava的冲突)
阅读量:7068 次
发布时间:2019-06-28

本文共 1653 字,大约阅读时间需要 5 分钟。

Hbase依赖的guava是12.0,程序中用到的guava是22.0,jar包冲突,总是报NoSuchMethod和ClassNoDef之类的错误

解决方法:

将冲突的一方第三方依赖包所有的依赖打包成一个整体。借用: maven-shade-plugin插件。

建立一个新的maven项目,将guava-22.0单独打成jar包,并改名,再重新放回源程序

1、guava单独打成jar包,并加入源程序的maven本地仓库

(1)、guava单独打成jar包的pom文件

4.0.0
Guava
guava
1.0
com.google.guava
guava
22.0
org.apache.maven.plugins
maven-shade-plugin
3.1.0
false
package
shade
com.google.guava
Guava.guava
com.google.common
Guava.common

(2)打入源程序的maven本地仓库

mvn install:install-file -Dfile=XXX/guava-1.0.jar -DgroupId=Guava -DartifactId=guava -Dversion=1.0 -Dpackaging=jar

2、源程序引入新的guava-22.0jar包

Guava
guava
1.0

3、程序中引用新的guava

//import com.google.common.base.Charsets;//import com.google.common.hash.BloomFilter;//import com.google.common.hash.Funnel;//import com.google.common.hash.PrimitiveSink; import Guava.common.hash.BloomFilter;import Guava.common.hash.Funnels;

注释部分是原来的import

 

文章整理自:

转载于:https://www.cnblogs.com/java-jun-world2099/articles/11114501.html

你可能感兴趣的文章
前端开发之旅-zopim在线即时聊天客服
查看>>
c++模板实现抽象工厂
查看>>
节日营销!这样搞-App运营日常
查看>>
谁是“少数幸福的人”?
查看>>
坦克大战--Java类型 ---- (2)按键设置和用户名的输入
查看>>
手机操作系统:自主力量能否崛起
查看>>
Shell在大数据时代的魅力:从一道百度大数据面试题想到的点滴
查看>>
说说參数传递(泛型托付)
查看>>
CentOS6.10下安装mysql-5.7.24
查看>>
【C#公共帮助类】 ToolsHelper帮助类
查看>>
八皇后问题
查看>>
切蛋糕
查看>>
关于对于CSS的字体单位
查看>>
TCP协议学习总结(上)
查看>>
敏捷 扑克上的时间估算(转)
查看>>
从JDBC程序看为什么需要Mybatis
查看>>
jQuery Ajax
查看>>
压缩感知中的数学知识:稀疏、范数、符号arg min
查看>>
《JavaScript高级程序设计》笔记
查看>>
刚刚在园里看到的一个简单的做连接字符串的方法.
查看>>