Я пишу приложение, использующее Apache Spark. Для общения с клиентом я хотел бы использовать gRPC.
В моем файле сборки Gradle я использую
dependencies {
compile('org.apache.spark:spark-core_2.11:1.5.2')
compile 'org.apache.spark:spark-sql_2.11:1.5.2'
compile 'io.grpc:grpc-all:0.13.1'
...
}
При отключении gRPC все работает нормально. Однако при использовании gRPC я могу создать сборку, но не выполнить ее, так как пакеты используют разные версии netty. Похоже, что Spark использует netty-all
, который содержит те же методы (но с потенциально другими сигнатурами), что и gRPC.
Я пробовал затенение (используя com.github.johnrengelman.shadow
), но почему-то все равно не работает. Как я могу подойти к этой проблеме?