0
我想添加一個spark模塊到我的java gradle項目中,但是,我使用io.netty:netty-all:5.0.0.Alpha1和spark 1.5.2使用io.netty:netty-all: 4.0.33.Final,不幸的是,由於PooledByteBufAllocator的構造函數,alpha版本不是向後兼容的。如何解決使用不同版本庫的模塊之間的依賴關係?
Exception in thread "main" java.lang.NoSuchMethodError: io.netty.buffer.PooledByteBufAllocator.<init>(ZIIIIIII)V
at org.apache.spark.network.util.NettyUtils.createPooledByteBufAllocator(NettyUtils.java:122)
at org.apache.spark.network.client.TransportClientFactory.<init>(TransportClientFactory.java:105)
at org.apache.spark.network.TransportContext.createClientFactory(TransportContext.java:78)
at org.apache.spark.network.netty.NettyBlockTransferService.init(NettyBlockTransferService.scala:61)
at org.apache.spark.storage.BlockManager.initialize(BlockManager.scala:187)
at org.apache.spark.SparkContext.<init>(SparkContext.scala:528)
一個選項是讓叉火花使用另一個構造函數,並希望alpha版本將工作。另一種方法是以某種方式強制傳遞依賴來解決單個模塊(火花模塊)的問題,但我不清楚如何實現這一點。
任何意見是非常感謝。