首页 > 解决方案 > Spark/Spring 验证-api 依赖冲突

问题描述

我运行 Spring/Spark 应用程序并遇到这个问题

以下方法不存在:

javax.validation.BootstrapConfiguration.getClockProviderClassName()Ljava/lang/String;

该方法的类 ,javax.validation.BootstrapConfiguration可从以下位置获得:

***validation-api-1.1.0.Final.jar!/javax/validation/BootstrapConfiguration.class

***/BOOT-INF/lib/validation-api-2.0.1.Final.jar!/javax/validation/BootstrapConfiguration.class

它是从以下位置加载的:

file:/usr/hdp/2.6.3.0-235/spark2/jars/validation-api-1.1.0.Final.jar

如何让 spark 先读取我的依赖项,然后查看系统库?

我试图在 Oozie 中指定

我试图在 spark-submit 中指定

到目前为止没有任何效果。

标签: springapache-sparkhadoopdependencies

解决方案


曾经遇到过类似的情况。我最终做了如下。即我将所需的 jar 复制到一个目录,并使用了 extraClasspath 选项

spark-submit   --conf spark.driver.extraClassPath="C:\sparkjars\validation-api-2.0.1.Final.jar;C:\sparkjars\gson-2.8.6.jar" myspringbootapp.jar

从文档中,spark.driver.extraClassPath 额外的类路径条目添加到驱动程序的类路径中。


推荐阅读