최근 Ubuntu 18.04에서 Greenfoot을 사용하기 위해 JRE 8 및 JDK 8을 설치했습니다.
나는 Java 설치의 대부분이 작동한다는 것을 알고 있습니다(Atom으로 코드를 작성하고 스크립트로 실행할 수 있습니다). 그러나 터미널에서 greenfoot을 실행하려고 하면 다음과 같은 메시지가 나타납니다.
Exception in thread "main" java.lang.NoClassDefFoundError: javafx/application/Application
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:468)
at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at bluej.Boot.main(Boot.java:193)
Caused by: java.lang.ClassNotFoundException: javafx.application.Application
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 13 more
Greenfoot이 JavaFX 클래스를 찾아서 실행할 수 없는 문제인 것 같습니다. 내 이해에 따르면 JavaFX 설치는 JRE 8과 함께 제공됩니다.
JavaFX는 기본 JRE 8 및 JDK 8 설치와 함께 제공됩니까? Greenfoot이 JavaFX 위치를 가리켜야 합니까?
그린풋에 대해 잘 모르시더라도 도움을 주시면 감사하겠습니다. 비슷한 문제를 다루고 있는 것 같은 다른 게시물을 보았지만 제 상황에 수정 사항을 어떻게 적용해야 할지 잘 모르겠습니다.
도와주세요!
답변1
좋아요. 나는 바보처럼 느껴진다. 하지만 이 문제가 있는 경우 시도해 볼 수 있는 작업은 다음과 같습니다.
JDK8의 Oracle 버전을 다운로드했는지 확인하십시오(JDK만 필요함). apt를 통해 다운로드한 버전에는 FX가 없습니다(저는 믿습니다).
Greenfoot 설치가 oracle JDK8을 사용하고 있는지 확인하십시오.
순수 Java 버전을 사용해 보세요. 이를 통해 JDK 설치 위치를 지정할 수 있으므로 oracle JDK를 쉽게 선택할 수 있습니다.