【发布时间】:2015-02-24 12:19:26
【问题描述】:
我正在开发一个更新 Redis 服务器的 scala 独立应用程序(将此应用程序作为 Spark 作业执行)。我的应用程序的 Scala 版本是 2.10。
我正在使用 "net.debasishg" % "redisclient_2.10" % "2.13" 来处理 Redis 服务器。
我通过 IntelliJ idea 运行了应用程序,并且应用程序正在运行,没有任何错误。然后我通过给出“激活器包”命令创建我的应用程序的一个 jar。然后我执行jar文件,报错如下,
Exception in thread "main" java.lang.NoClassDefFoundError: com/redis/RedisClient
at Main$.main(Main.scala:55)
at Main.main(Main.scala)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.apache.spark.deploy.SparkSubmit$.launch(SparkSubmit.scala:328)
at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:75)
at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)
Caused by: java.lang.ClassNotFoundException: com.redis.RedisClient
at java.net.URLClassLoader$1.run(URLClassLoader.java:372)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 9 more
请任何人知道如何克服这个问题。 (不幸的是,我尝试使用 sbt-assembly 插件并没有解决我的问题)
谢谢
【问题讨论】:
标签: scala redis executable-jar