Eu instalei o programaMiauno Ubuntu 14.4, Gnome Shell 3.10.4 (é um editor de menu do GNOME). O sistema foi atualizado para Java 8. Quando executo o programa na linha de comando, recebo o seguinte:
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
Alguma ideia sobre o que se passa? (Eu tenhonãoexperiência em Java.)
dpkg -l '*jre*' | grep '^ii'
gera o seguinte
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)
Quando tento remover openjdk-7-jre-headless:i386
ele também quer remover default-jre-headless
. (Imaginei que isso poderia estar em conflito com a v8.)
===========
EDIT: Erros após tornar o Java 8 o padrão (para versão, diz "java version "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)
Responder1
O Meow está falhando porque está sendo iniciado no JRE sem cabeça, que não pode exibir janelas (daí a mensagem de erro um tanto obscura).
Para corrigir isso, a opção mais fácil é reconfigurar a JVM padrão:
sudo update-java-alternatives -s java-1.8.0-openjdk-amd64
Você pode verificar qual é a JVM padrão executando
java -version
Se o OpenJDK 8 estiver selecionado corretamente como padrão, você deverá obter algo como
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)
(os números de versão podem ser ligeiramente diferentes, a parte importante é "1.8.0").