ScalaではJavaのAWT:(AWT-EventQueueの-0)java.lang.NoClassDefFoundErrorの

aganm:

私はシンプルなデスクトップアプリケーションを作るためのScalaでJava AWTを使用しようとしています。私は2日間のためにそれに触れていなかったと私は戻ってきたとき、私はjava.lang.NoClassDefFoundErrorが例外を取得するまで、私は、何の問題もなく、いくつかの日のためにそれに取り組んできました。それは前に罰金を働いていたが、今でもコードの最も単純なものは、私は、このエラーが発生します。

https://github.com/aganm/NoClassDefFoundError

Main.scala

import java.awt.{EventQueue}

class Bar(val bar: Int) {
}

object Main {

  def main(args: Array[String]) {

    EventQueue.invokeLater(() => {
      val b = new Bar(20)
      println(b.bar)
    });

  }

}

私は、SBTとそれを実行します

sbt run

これはコンパイルが、私はこの例外を取得します

[error] (AWT-EventQueue-0) java.lang.NoClassDefFoundError: Bar
[error] java.lang.NoClassDefFoundError: Bar
[error]         at Main$.$anonfun$main$1(Main.scala:11)
[error]         at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
[error] oats / Cat java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
[error]         at java.awt.EventQueue.access$500(EventQueue.java:97)
[error]         at java.awt.EventQueue$3.run(EventQueue.java:709)
[error]         at java.awt.EventQueue$3.run(EventQueue.java:703)
[error]         at java.security.AccessController.doPrivileged(Native Method)
[error]         at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
[error]         at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
[error]         at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
[error]         at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
[error]         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
[error]         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
[error]         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
[error]         at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
[error] Caused by: java.lang.ClassNotFoundException: Bar
[error]         at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
[error]         at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
[error]         at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
[error]         at Main$.$anonfun$main$1(Main.scala:11)
[error]         at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
[error]         at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
[error]         at java.awt.EventQueue.access$500(EventQueue.java:97)
[error]         at java.awt.EventQueue$3.run(EventQueue.java:709)
[error]         at java.awt.EventQueue$3.run(EventQueue.java:703)
[error]         at java.security.AccessController.doPrivileged(Native Method)
[error]         at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
[error]         at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
[error]         at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
[error]         at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
[error]         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
[error]         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
[error]         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
[error]         at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
[error] stack trace is suppressed; run last Compile / bgRun for the full output

何が私が間違っているのでしょうか?

合計:

私は、SBTのバグを疑います。私はSBT 1.2.8と1.3.0 SBTで問題を再現することはできませんが、。私が追加したときも、私は問題を再現していないfork := truebuild.sbtSBT 1.3.0を使用した場合でも、ファイル。あなたは回避策として、これらのオプションのいずれかを使用することができます。

私は問題が報告されているSBT 1.3.0との奇妙なNoClassDefFoundErrorがエラーをし、それが今、SBT 1.3.2で修正されています。

1.3.0新機能があると思われるプロセスクラスローディングでは -の値のいずれも説明していないが、それは本当に関連している場合ので、私はわからない、問題を修正するようです。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=336274&siteId=1