Java と Meow の問題

Java と Meow の問題

プログラムをインストールしましたニャーUbuntu 14.4、Gnome Shell 3.10.4 (GNOME メニュー エディター)。システムは Java 8 に更新されました。コマンド ラインからプログラムを実行すると、次のメッセージが表示されます。

meow
Exception in thread "main" java.lang.ExceptionInInitializerError
    at org.medit.gui.Runner$.main(Runner.scala:15)
    at org.medit.gui.Runner.main(Runner.scala)
Caused by: java.awt.HeadlessException
    at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:207)
    at java.awt.Window.<init>(Window.java:535)
    at java.awt.Frame.<init>(Frame.java:420)
    at javax.swing.JFrame.<init>(JFrame.java:218)
    at org.medit.gui.Main$.<init>(Main.scala:23)
    at org.medit.gui.Main$.<clinit>(Main.scala)
    ... 2 more

何が起こっているのか分かりますか?(私はいいえJavaの経験。

dpkg -l '*jre*' | grep '^ii'

出力は次のようになる

ii  default-jre-headless                        2:1.7-51                                i386         Standard Java or Java compatible Runtime (headless)
ii  openjdk-7-jre-headless:i386                 7u111-2.6.7-0ubuntu0.14.04.3            i386         OpenJDK Java runtime, using Hotspot JIT (headless)
ii  openjdk-8-jre:i386                          8u91-b14-0ubuntu4~14.04                 i386         OpenJDK Java runtime, using Hotspot JIT
ii  openjdk-8-jre-headless:i386                 8u91-b14-0ubuntu4~14.04                 i386         OpenJDK Java runtime, using Hotspot JIT (headless)

削除しようとするとopenjdk-7-jre-headless:i386、 も削除されてしまいますdefault-jre-headless。(v8 と競合している可能性があると考えました。)

===========

編集: Java 8 をデフォルトにした後のエラー (バージョンについては、「java バージョン "1.8.0_111"」と表示されます):

Exception in thread "AWT-EventQueue-0" java.util.NoSuchElementException: key not found: abridged
    at scala.collection.MapLike$class.default(MapLike.scala:228)
    at scala.collection.AbstractMap.default(Map.scala:58)
    at scala.collection.mutable.HashMap.apply(HashMap.scala:64)
    at org.medit.core.icons.IconFinder$$anonfun$loadIcon$2.apply(IconFinder.scala:46)
    at org.medit.core.icons.IconFinder$$anonfun$loadIcon$2.apply(IconFinder.scala:36)
    at scala.collection.mutable.MapLike$class.getOrElseUpdate(MapLike.scala:189)
    at scala.collection.mutable.AbstractMap.getOrElseUpdate(Map.scala:91)
    at org.medit.core.icons.IconFinder$.loadIcon(IconFinder.scala:36)
    at org.medit.core.icons.ImageScaler.run(ImageScaler.scala:11)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
    at java.awt.EventQueue.access$500(EventQueue.java:97)
    at java.awt.EventQueue$3.run(EventQueue.java:709)
    at java.awt.EventQueue$3.run(EventQueue.java:703)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

答え1

Meow は、ウィンドウを表示できないヘッドレス JRE 上で起動されているため失敗します (そのため、かなりわかりにくいエラー メッセージが表示されます)。

これを修正する最も簡単な方法は、デフォルトの JVM を再構成することです。

sudo update-java-alternatives -s java-1.8.0-openjdk-amd64

デフォルトのJVMを確認するには、次のコマンドを実行します。

java -version

OpenJDK 8がデフォルトで正しく選択されている場合、次のような画面が表示されます。

openjdk version "1.8.0_91"
OpenJDK Runtime Environment (build 1.8.0_91-8u91-b14-0-b14)
OpenJDK 64-Bit Server VM (build 25.91-b14, mixed mode)

(バージョン番号は若干異なる可能性がありますが、重要な部分は「1.8.0」です)。

関連情報