Wiem, że Oracle usunął JavaFX w 8u33, ale zastanawiam się, dlaczego nie mogę używać JavaFX z jdk1.8.0? Dostałem go z archiwum Oracle (http://download.oracle.com/otn/java/jdk/8-b132/jdk-8-linux-arm-vfp-hflt.tar.gz)JavaFX na ARM działającym jdk1.8.0
mam ten wydobytych w /usr/bin/java_8_arm/jdk1.8.0
i używam mój plik .jar z sudo /usr/bin/java_8_arm/jdk1.8.0/bin/java -jar jarfile.jar
Running /usr/bin/java_8_arm/jdk1.8.0/bin/java -version
powraca
java version "1.8.0"
Java (TM) SE Runtime Environment (build 1.8.0-b132)
Java HotSpot (TM) client VM (build 25.0-b70, mixed mode)
i uruchomione System.out.println("Running Java version: " + Runtime.class.getPackage().getImplementationVersion());
zwraca Running Java Version: 1.8.0
Błąd Dostaję jest:
Exception in thread "main" java.lang.NoClassDefFoundError: javafx/embed/swing/JFXPanel
at front_end.GUI.initGUI(GUI.java:47)
at back_end.Run.main(Run.java:28)
Caused by: java.lang.ClassNotFoundException: javafx.embed.swing.JFXPanel
at java.net.URLClassLoader$1.run(URLClassLoader.java:372)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 2 more
Jeśli zastanawiasz się, jestem programowania i kompilacji programu do udostępnionego pliku poprzez Windows 7 i działa JAR z malin Pi.
inb4 "dlaczego potrzebuję javafx na raspberry pi" - do renderowania html, ponieważ inne komponenty java obsługują tylko html 3.2. Próbowałem innych renderers. Jest to jedyna, którą mogę nawet uruchomić na moim pulpicie, nie mówiąc już o RPi.
Programuję również i kompiluję w wersji 1.8.0.
UPDATE:
Jak na odpowiedź José Pereda, w Pobrałem pliki JavaFX i umieścił je w moim oryginalnym java zainstalować (jestem teraz za pomocą /usr/bin/jdk8u6/
jako mojego folderu i oczywiście jdk1.8.0_06
).
Oto moja zainstalować hierarchia, począwszy od katalogu lib
:
/usr/bin/jdk8u6/lib/:
arm ext javafx.properties jfxswt.jar tools.jar
ct.sym ir.idl jconsole.jar orb.idl
dt.jar javafx.platform.properties jexec sa-jdi.jar
/usr/bin/jdk8u6/lib/arm:
jli libgstreamer-lite.so libjfxmedia.so
libdecora_sse.so libjavafx_font_freetype.so libjfxwebkit.so
libfxplugins.so libjavafx_font_pango.so libprism_common.so
libglass_monocle.so libjavafx_font.so libprism_es2_eglfb.so
libglass_monocle_x11.so libjavafx_iio.so libprism_es2_monocle.so
libglass.so libjawt.so libprism_sw.so
/usr/bin/jdk8u6/lib/arm/jli:
libjli.so
/usr/bin/jdk8u6/lib/ext:
jfxrt.jar
wciąż otrzymuję ten sam błąd.
Dzięki za trochę o zdalnym rozmieszczaniu, mógłbym użyć tego. Co do reszty, testowanie teraz – zfollette
Nie działa. Aktualizowanie OP – zfollette
Ach, zapomniałem wspomnieć: Swing nigdy nie był obsługiwany w JavaFX dla ARM, ale ponieważ używasz JavaFX z WebView, możesz go użyć? –