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>

 

 

 

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