我安裝了程式喵在 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 上啟動的,而該 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”)。