在Java Spark中使用Jackson 2.9.9

问题描述 投票:1回答:1

我正在尝试使用MLLIB库(java),但是我的依赖项之一是使用Jackson 2.9.9。我注意到发出了请求,以便将master分支的依赖项升级到此特定版本。现在,我想使用此master分支,因此我使用./dev/make-distribution.sh克隆并安装了此软件包。但不确定将哪个jar包复制到我的项目中。我试图复制所有3.0.0-snaphots,但最终在Java程序中出现了class file for scala.Cloneable not found

我也做了一个./build/mvn -DskipTests install,它将SNAPSHOT依赖项安装在〜/ .m2下。

我将它们添加到了gradle构建文件中

    // https://mvnrepository.com/artifact/org.apache.spark/spark-core
    compile group: 'org.apache.spark', name: 'spark-core_2.12', version: '3.0.0-SNAPSHOT'

    // https://mvnrepository.com/artifact/org.apache.spark/spark-mllib
    compile group: 'org.apache.spark', name: 'spark-mllib_2.12', version: '3.0.0-SNAPSHOT'

但是在Java 11下执行时,它抱怨:

Exception in thread "main" java.lang.NoSuchFieldError: JAVA_9
    at org.apache.spark.storage.StorageUtils$.<init>(StorageUtils.scala:207)

由于Java 9不再可用,我想知道如何进一步调试此问题。我假设至少需要Java 9,但该字段不再存在?

java apache-spark jackson apache-spark-mllib
1个回答
0
投票

我注意到在源代码StorageUtils.scala中,它正在拉入apache common-lang3 for JAVA_9。您是否检查过Apachepath-lang3是否包含在classpath中?它通过将commons-lang3-3.9.jar添加到我的类路径中解决了我的问题。

© www.soinside.com 2019 - 2024. All rights reserved.