重新編譯guava包,解決:com.google.common.base.Stopwatch.()V

在使用sqoop 遷移數據的時候guava版本兼容報錯tried to access method com.google.common.base.Stopwatch.()V,由於從12版本開始Stopwatch構造方法的public修飾符去掉了,只能包內訪問,外部無法調用。

嘗試使用12以下的版本Stopwatch沒問題了,protocol buffer 又不兼容了,索性直接重新編譯guava

下載最新包源碼,直接修改com.google.common.base.Stopwatch 構造方法,增加public修飾符

重新編譯guava包,解決:com.google.common.base.Stopwatch.()V

重新編譯,替換jar包,再次運行sqoop腳本繼續開始數據遷移

吐槽一下,guava的版本兼容問題還真的是不少。。。。


分享到:


相關文章: