HBASE-java.lang.IllegalAccessError: tried to access method com.google.common.base.Stopwatch

异常原因:

我是在hbase中 用 table.put(list)的时候发生这个报错的(最后发现与此无关),我很纳闷的是程序之前都是正常跑的,怎么今天重新打包部署了一下就报错了,然后跟随百度大佬们模糊的指点,知道了是jar包冲突问题

解决过程:

首先检查自己maven依赖中有没有这个类的依赖包,发现还真有,配置如下:

        <dependency>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
            <version>RELEASE</version>
            <scope>compile</scope>
        </dependency>

没有指定版本,想到是Jar包的冲突问题,应该是这种方法引入的依赖是随时更新的吧  我可能很早之前就引入这个jar包的上一个版本了,然后人家又更新了一个jar包,结果我又把最新的一个jar包引进来了,然后恰好这个最新的jar包跟项目里面引入的其他依赖包发生冲突了。查看自己的maven仓库发现引入了多个版本的guava包:

 

解决方法:

在众多版本中选了一个比较通用的版本,重新打包部署,运行成功

        <dependency>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
            <version>14.0.1</version>
        </dependency>

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章