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

어떤 아이디어가 있나요? (나는 가지고있다아니요자바 경험. )

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"입니다.)

관련 정보