gpt4 book ai didi

gradle - 如何解决使用不同版本库的模块之间的依赖关系?

转载 作者:行者123 更新时间:2023-12-03 05:14:57 27 4
gpt4 key购买 nike

我正在尝试将 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)

一种选择是让我 fork spark 以使用另一个构造函数,并希望 alpha 版本能够正常工作。另一个是以某种方式强制传递依赖关系来解决单个模块( Spark 模块),但我不清楚如何实现这一点。

非常感谢任何建议。

最佳答案

我唯一想到的是OSGI。也就是说,您最好不要使用 netty 的 alpha 版本并坚持使用稳定的分支。

关于gradle - 如何解决使用不同版本库的模块之间的依赖关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33882297/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com