Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala 找不到SQL Server依赖项_Scala_Apache Spark_Intellij Idea_Sbt - Fatal编程技术网

Scala 找不到SQL Server依赖项

Scala 找不到SQL Server依赖项,scala,apache-spark,intellij-idea,sbt,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.j

为此,我使用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
[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
当我从java运行它时,我得到:

[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
[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在生成包时支持在该文件夹中自动识别它

任何帮助都将不胜感激

多谢各位

编辑:我的问题在那篇文章中没有得到回答

我将根据您的情况修改:

   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

这一个对我有用,从微软官方网站下载jdbc jar。

可能重复“对不起”,但这个问题的答案太宽,无法找到与我的问题的关系。