【发布时间】:2017-05-22 03:29:48
【问题描述】:
我有一个使用 spark 和 hbase 的 java 应用程序。我们需要点击部署在 tomcat(jersey) 中的 url。所以,我们使用了resteasy客户端来做到这一点。
当我使用 rest-easy 执行一个独立的 java 代码来访问 url 客户,它工作正常
但是,当我在另一个使用 spark 进行某些处理的应用程序中使用相同的代码时,它会引发如标题所示的错误。 我在 Eclipse 中使用 maven 作为构建工具。构建它之后,我正在创建一个可运行的 jar 并选择选项“将所需的库提取到生成的 jar 中”。为了执行应用程序,我使用以下命令:
nohup spark-submit --master yarn-client myWork.jar myProperties 0 &
rest-easy客户端代码的依赖:
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-client</artifactId>
<version>3.0.11.Final</version>
</dependency>
</dependencies>
我无法弄清楚在编译时,它不会抛出任何错误,但是在运行时,虽然 jar 包含了每个库(包括 spark 和 hbase 的库),但它会抛出错误,说没有方法。请帮忙。
【问题讨论】:
-
您使用的是哪个版本的 spark?
-
这显然是版本不匹配错误。这个答案可能会有所帮助:stackoverflow.com/questions/24139097/…
-
火花版本 = 1.4.1
-
我曾尝试更改 resteasy-client 的版本,但没有帮助。在编译时我可以看到这个类,为什么在运行时它丢失了,即使我已经打包了所有的库。?
标签: maven tomcat apache-spark hbase resteasy