找不到SQL Server依赖项

时间:2018-06-04 12:55:34

标签: scala apache-spark intellij-idea sbt

为此,我使用sbt在jar文件中打包了一个应用程序。 当我从IDE(IntelliJ)运行应用程序时,它没有问题。 但是,当我尝试直接运行jar时,我有两个不同的问题。

当我从spark-submit运行它时,我得到:

[cloudera@quickstart bin]$ spark-submit --class com.my.app.main --master local[0] /home/cloudera/Projects/myapp/target/scala-2.11/myapp.jar
Exception in thread "main" java.lang.NoClassDefFoundError: com/microsoft/sqlserver/jdbc/SQLServerDataSource

当我从java运行时,我得到:

[cloudera@quickstart scala-2.11]$ java -jar myapp.jar
Exception in thread "main" java.lang.NoClassDefFoundError: scala/collection/Seq
    at com.my.app.main$.main(main.scala:13)
    at com.my.app.main.main(main.scala)
Caused by: java.lang.ClassNotFoundException: scala.collection.Seq
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 2 more

注意JDBC for SQL Server已经放在lib文件夹中,在生成包时,它被sbt自动识别。

非常感谢任何帮助。

谢谢。

编辑:我的问题没有在该帖子上回答

1 个答案:

答案 0 :(得分:0)

取自 https://stackoverflow.com/a/52546145/1498109

我会针对您的情况进行修改:

   spark-submit --class com.my.app.main \
   --master local[0] /home/cloudera/Projects/myapp/target/scala-2.11/myapp.jar \
   --jars path_to/sqljdbc42.jar

这对我有用,请从Microsoft的官方网站上下载jdbc jar。