【问题标题】:why is my maven sub dependency version for spark connector package different from others为什么我的 spark 连接器包的 maven 子依赖版本与其他版本不同
【发布时间】:2021-08-02 08:46:27
【问题描述】:

我正在尝试使用现有项目中的 pom 文件,但出现错误“无法解析 org.yaml:snakeyaml:1.15”

我发现这个错误是 com.datastax.spark:spark-cassandra-connector_2.11:2.5.0 使用了几个依赖项,并且它使用了几个级别 snakeyaml:1.15 em> 被公司代理隔离。有没有办法为给定的 Maven 依赖项指定我想使用snakeyaml:1.16?

我不明白的一件事是,我查看了也在使用 com.datastax.spark:spark-cassandra-connector_2.11:2.5.0 的参考项目,它正在使用更新了 com.datastax.oss:java-driver-core-shaded:4.9.0,不再需要 snakeyaml:1.15 我使用旧的 com.datastax.oss:java-driver-core-shaded:4.5.0

为什么它在那个 pom 中工作?我们为 com.datastax.spark:spark-cassandra-connector_2.11:2.5.0 提供了相同的 maven 列表版本

我看到它有一些排除项,但没有解决蛇 yaml 版本或其任何父依赖项。

pom 文件的另一部分是否可以解决我遗漏的问题?请指教。

我的绒球

<scala.compat.version>2.11</scala.compat.version>
<spark.cassandra.version>2.5.0</spark.cassandra.version>
<dependency>
  <groupId>com.datastax.spark</groupId>
  <artifactId>spark-cassandra-connector_${scala.compat.version}</artifactId>
  <version>${spark.cassandra.version}</version>
</dependency>

哪里出错了

然而另一个项目正在使用正确的着色版本 com.datastax.oss:java-driver-core-shaded:4.9.0,它消除了蛇依赖

工作 pom

<scala.compat.version>2.11</scala.compat.version>
<spark.cassandra.version>2.5.0</spark.cassandra.version>
<dependency>
  <artifactId>spark-cassandra-connector_${scala.compat.version}</artifactId>
  <exclusions>
    <exclusion>
      <groupId>com.google.guava</groupId>
      <artifactId>guava</artifactId>
    </exclusion>
    <exclusion>
      <artifactId>netty-all</artifactId>
      <groupId>io.netty</groupId>
    </exclusion>
    <exclusion>
      <groupId>org.scala-lang</groupId>
      <artifactId>scala-library</artifactId>
    </exclusion>
  </exclusions>
  <groupId>com.datastax.spark</groupId>
  <version>${spark.cassandra.version}</version>
</dependency>

【问题讨论】:

    标签: java maven apache-spark cassandra


    【解决方案1】:

    您在 POM 的 &lt;dependencyManagement&gt; 部分添加一个条目,您可以在其中指定所需的snakeyaml 版本。

    这将覆盖snakeyaml 的所有传递版本定义。

    【讨论】:

      【解决方案2】:

      我建议切换到 SCC 2.5.2(或至少 2.5.1) - 那里有关于依赖项的修复,它已将驱动程序升级到 4.10.0 等。另一种可能性是改用 spark-cassandra-connector-assembly,包含所有依赖项并带有阴影。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-09-18
        • 2019-12-25
        • 2022-01-01
        • 2011-12-22
        • 2014-11-04
        • 2020-12-11
        • 2020-07-26
        相关资源
        最近更新 更多