Гуава не имеет обратной совместимости - PullRequest
0 голосов
/ 31 мая 2018

У меня есть несколько зависимостей в моем jar (spark-core и io.grpc), которые используют две версии guava (19.0 и spark-core внутренне в зависимости от hasoop mapreduce, который использует 11.0.2) соответственно.Эти две версии несовместимы друг с другом, так как несколько методов в одной версии недоступны в другой.Как мне справиться с зависимостями maven в такой ситуации?

POM зависимости:

<dependency>
            <groupId>com.trueaccord.scalapb</groupId>
            <artifactId>scalapb-runtime_${scala.compat.version}</artifactId>
            <version>0.6.3</version>
        </dependency>
        <dependency>
            <groupId>com.trueaccord.scalapb</groupId>
            <artifactId>scalapb-runtime-grpc_${scala.compat.version}</artifactId>
            <version>0.6.3</version>
        </dependency>
        <dependency>
            <groupId>com.trueaccord.scalapb</groupId>
            <artifactId>compilerplugin_${scala.compat.version}</artifactId>
            <version>0.6.3</version>
        </dependency>
        <dependency>
            <groupId>io.grpc</groupId>
            <artifactId>grpc-netty-shaded</artifactId>
            <version>1.10.1</version>
        </dependency>
        <dependency>
            <groupId>io.netty</groupId>
            <artifactId>netty-tcnative-boringssl-static</artifactId>
            <version>2.0.5.Final</version>
        </dependency>

        <dependency>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
            <version>23.0</version>
        </dependency>


        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-core_2.11</artifactId>
            <version>2.2.1</version>
            <exclusions>
                <exclusion>
                    <artifactId>asm</artifactId>
                    <groupId>asm</groupId>
                </exclusion>
            </exclusions>
        </dependency>

        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-sql_2.11</artifactId>
            <version>2.2.1</version>
        </dependency>
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-mllib_2.11</artifactId>
            <version>2.2.1</version>
        </dependency>

Вопрос больше похож на тупик между более ранними и последними версиями, нежели на единственную ошибку.

...