datastax cassandra核心java驱动器对guava-19(包括最新的datastax)具有可传递的依赖性,guava-19存在安全漏洞(cve-2018-10237)。
为了解决这个问题,当我尝试从datastax驱动器中排除guava-19.0依赖项并用guava-27.1-jre替换时,我在运行时遇到了以下错误,并通过反编译最新的guava驱动程序确认了这一点;看起来像是从guava-20.0中删除了futurefallback类,并且与最新的cassandra驱动器没有向后兼容性。
java.lang.NoClassDefFoundError: com/google/common/util/concurrent/FutureFallback
任何帮助或快速修复或替代是非常值得赞赏的。
2条答案
按热度按时间68bkxrlz1#
我也有同样的问题&解决方法是从3个地方忽略Guava,而不仅仅是司机。下面是您修复的示例。它对我有用&我现在用的是Guava27。
以后你可以用你自己的Guava,如下所示:
eoxn13cs2#
该漏洞与Guava类有关
AtomicDoubleArray
以及CompoundOrdering
; 我们不把它们用在司机身上。我们已经在java-1328中解决了guava兼容性问题。该驱动程序兼容16.0.1至最新版本,有一个内部兼容层来解决19中的突破性变化。我刚刚尝试了一个简单的客户端,它覆盖了对27.1-jre的依赖关系,一切正常。
您是如何测试的?错误的堆栈跟踪是什么?