So che Oracle ha rimosso JavaFX in 8u33, ma mi chiedo perché non riesca a utilizzare JavaFX con jdk1.8.0? Ho preso dagli archivi di Oracle (http://download.oracle.com/otn/java/jdk/8-b132/jdk-8-linux-arm-vfp-hflt.tar.gz)JavaFX su ARM con jdk1.8.0
ho questa estratti in /usr/bin/java_8_arm/jdk1.8.0
e sto facendo funzionare il mio file .jar con sudo /usr/bin/java_8_arm/jdk1.8.0/bin/java -jar jarfile.jar
Esecuzione /usr/bin/java_8_arm/jdk1.8.0/bin/java -version
rendimenti
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)
e in esecuzione System.out.println("Running Java version: " + Runtime.class.getPackage().getImplementationVersion());
restituisce Running Java Version: 1.8.0
L'errore che sto ottenendo è:
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
Se vi state chiedendo, sto programmando e la compilazione del programma a un file condiviso tramite Windows 7 e l'esecuzione del JAR da un Raspberry Pi.
inb4 "perché è necessario javafx su un raspberry pi" - per eseguire il rendering di html, poiché altri componenti java supportano solo html 3.2. Ho provato altri renderer. Questo è l'unico che potrei persino lavorare direttamente sul mio desktop, per non parlare del RPi.
Inoltre, sto programmando e compilando anche su 1.8.0.
UPDATE:
Come per la risposta di José Pereda, Ho scaricato il file di JavaFX e messo nel mio java di installazione originale (ora sto usando /usr/bin/jdk8u6/
come la mia cartella e ovviamente jdk1.8.0_06
).
Qui è la mia gerarchia di installare, a partire dalla directory 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
ho ancora ottenere lo stesso errore.
Grazie per la distribuzione in remoto, potrei utilizzarlo. Per il resto, testare ora – zfollette
non ha funzionato. Aggiornamento dell'OP – zfollette
Ah, ho dimenticato di menzionare: Swing non è mai stato supportato in JavaFX per ARM, ma dal momento che stai usando JavaFX con una WebView, puoi usarlo? –