2017-12-11 24 views
1

私はsbtを使用して、私のscalaコードからjarを構築する必要がありました:jbファイルはsbtで移植可能ですか?

sudo sbt package 

それは私のビルドファイルを使用:私もうまくjarを建て

name := "PSG CCD" 
version := "1.0" 
scalaVersion := "2.11.8" 

resolvers += "Spark Packages Repo" at "http://dl.bintray.com/spark-packages/maven" 

libraryDependencies ++= Seq(
     "org.apache.spark" %% "spark-core" % "2.2.0", 
     "org.apache.spark" %% "spark-sql" % "2.2.0", 
     "org.apache.spark" %% "spark-streaming" % "2.2.0", 
     "neo4j-contrib" % "neo4j-spark-connector" % "2.0.0-M2" 
) 

を。その後、私は私のsparkのサーバーにFTP経由で転送し、​​の操作を行います。

spark-submit --class "PSGApp" --master local[4] psg_ccd.jar 

私はこのエラーを取得する:

だから、
Exception in thread "main" java.lang.NoClassDefFoundError: org/neo4j/spark/Neo4j 
    at java.lang.Class.getDeclaredMethods0(Native Method) 
    at java.lang.Class.privateGetDeclaredMethods(Class.java:2701) 
    at java.lang.Class.privateGetMethodRecursive(Class.java:3048) 
    at java.lang.Class.getMethod0(Class.java:3018) 
    at java.lang.Class.getMethod(Class.java:1784) 
    at org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:739) 
    at org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:180) 
    at org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:205) 
    at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:119) 
    at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala) 
Caused by: java.lang.ClassNotFoundException: org.neo4j.spark.Neo4j 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
    [truncated, 10 more messages] 

私は、依存ファイルにneo4j-spark-connectorを持っているにもかかわらず、それはdoesnの私がsparkを通してそれを実行するとき、それを見つけるように見える。今このsparkjarscalaから作成したのとは別のマシンで実行されています。これは問題ですか?コピーしてどこかにドロップする必要のあるlibsフォルダがありますか?

私はライブラリの情報を推測していますneo4jspark接続の依存関係は、実行しようとしているjarに組み込まれていませんでした。

多分私はそれを強制するスイッチがありませんか?

答えて

関連する問題