flink实时写入数据到 clickhouse 报错Could not initialize class ru.yandex.clickhouse.ClickHouseUtil
生活随笔
收集整理的這篇文章主要介紹了
flink实时写入数据到 clickhouse 报错Could not initialize class ru.yandex.clickhouse.ClickHouseUtil
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
問題介紹:
項目在使用clickhouse jdbc 將flink數據實時寫入clickhouse時候,報錯:
Caused by: java.lang.NoClassDefFoundError: Could not initialize class ru.yandex.clickhouse.ClickHouseUtil解決:
1.直接拿報錯信息百度,沒查到解決方法,只能自己在去想想辦法了,最好的辦法就是源碼剛進去
2.直接斷點跟進源碼 發現ClickHouseUtil 類下導入的包不存在,如圖所示
3.直接去查 com.google.common.escape.Escaper; 這個包是在 com.google.guava 依賴下的。 后面添加了下面的依賴發現還是不行,因為這個依賴 中也還是沒有那個包,所以再去換一個
4.在倉庫中心找到了,替換成下面的依賴就行了,這時候發現ClickHouseUtil 以及能成功導入該包了
<dependency><groupId>com.google.guava</groupId><artifactId>guava</artifactId><version>31.0.1-jre</version> </dependency>ps: 真的套用以前的習慣,拿著問題就去百度,百度了好久,都沒能解決其中包括https://stackoverflow.com/,github等等地方都搜遍了,以及在GitHub上手flink寫入clickhouse的源 碼也無解。所以有時候 還是得跟進源碼去一探究竟
總結
以上是生活随笔為你收集整理的flink实时写入数据到 clickhouse 报错Could not initialize class ru.yandex.clickhouse.ClickHouseUtil的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 网络安全红蓝军对抗完整战术周期
- 下一篇: java 时分秒 转换 秒_JAVA将时