2017-10-15 30 views
0

정확히 원하는 것은 외부 로컬 라이브러리에 연결하는 것이지만 최종 병에 포함하고 싶지는 않습니다.프로젝트가 컴파일되었지만 실행할 수 없습니다. NoClassDefFoundError

build.sbt

unmanagedClasspath in Compile ++= (file("/usr/local/lib/spark/jars") ** "*.jar").classpath 

결과 show compile:compile::unmanagedClasspath의에서

, show compile:run::unmanagedClasspath

[info] * Attributed(/usr/local/lib/spark/jars/ivy-2.4.0.jar) 
[info] * Attributed(/usr/local/lib/spark/jars/spark-core_2.11-2.2.0.jar) 
[info] * Attributed(/usr/local/lib/spark/jars/spire_2.11-0.13.0.jar) 
[info] * Attributed(/usr/local/lib/spark/jars/javax.inject-1.jar) 
[info] * Attributed(/usr/local/lib/spark/jars/protobuf-java-2.5.0.jar) 
[info] * Attributed(/usr/local/lib/spark/jars/parquet-encoding-1.8.2.jar) 
and many other... 

compile 잘 작동의 동일하지만, run이 오류를

[info] Packaging /home/tansei/research/aclimdb/target/scala-2.12/aclimdb_2.12-0.1.0-SNAPSHOT.jar ... 
[info] Done packaging. 
[info] Running (fork) aclimdb.MyLogisticRegression 
[error] Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/spark/sql/SparkSession$ 
[error]  at aclimdb.MyLogisticRegression$.main(MyLogisticRegression.scala:8) 
[error]  at aclimdb.MyLogisticRegression.main(MyLogisticRegression.scala) 
[error] Caused by: java.lang.ClassNotFoundException: org.apache.spark.sql.SparkSession$ 
[error]  at java.net.URLClassLoader.findClass(URLClassLoader.java:381) 
[error]  at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
[error]  at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) 
[error]  at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
[error]  ... 2 more 
[error] java.lang.RuntimeException: Nonzero exit code returned from runner: 1 
[error]  at sbt.ForkRun.processExitCode$1(Run.scala:29) 
[error]  at sbt.ForkRun.run(Run.scala:38) 
[error]  at sbt.Defaults$.$anonfun$bgRunTask$5(Defaults.scala:1152) 
[error]  at sbt.Defaults$.$anonfun$bgRunTask$5$adapted(Defaults.scala:1147) 
[error]  at sbt.internal.BackgroundThreadPool.$anonfun$run$1(DefaultBackgroundJobService.scala:359) 
[error]  at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12) 
[error]  at scala.util.Try$.apply(Try.scala:209) 
[error]  at sbt.internal.BackgroundThreadPool$BackgroundRunnable.run(DefaultBackgroundJobService.scala:282) 
[error]  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
[error]  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
[error]  at java.lang.Thread.run(Thread.java:745) 
[error] (compile:run) Nonzero exit code returned from runner: 1 
[error] Total time: 2 s, completed Oct 15, 2017 4:05:34 PM 

내가 바보 보일 수를 보여줍니다 이 질문을하지만, 그의 시간이 많이 걸렸으므로 나는 이것을 받아 들일 수 없다. 내가 한 번 더 라인을 추가 한 후이

답변

0

아차에 어떤 도움을 매우 감사,의 run 명령은 잘

unmanagedClasspath in Compile ++= (file("/usr/local/lib/spark/jars") ** "*.jar").classpath, 
    unmanagedClasspath in Runtime ++= (file("/usr/local/lib/spark/jars") ** "*.jar").classpath 
를 실행