2016-06-29 13 views
6

मुझे पता है कि ओरेकल ने 8u33 में जावाएफएक्स को हटा दिया, लेकिन मुझे आश्चर्य है कि मैं JavaFX का उपयोग jdk1.8.0 के साथ क्यों नहीं कर सकता? मैं इसे ओरेकल अभिलेखागार (http://download.oracle.com/otn/java/jdk/8-b132/jdk-8-linux-arm-vfp-hflt.tar.gz)एआरएम पर जावाएफएक्स चल रहा है jdk1.8.0

मैं इस /usr/bin/java_8_arm/jdk1.8.0 में निकाला है और sudo /usr/bin/java_8_arm/jdk1.8.0/bin/java -jar jarfile.jar

/usr/bin/java_8_arm/jdk1.8.0/bin/java -version रिटर्न

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) 

और चल चल रहा है के साथ अपने .jar फ़ाइल चला रहा हूँ से मिला System.out.println("Running Java version: " + Runtime.class.getPackage().getImplementationVersion());

रिटर्न Running Java Version: 1.8.0

त्रुटि मैं हो रही है:

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 

आप सोच रहे हैं, तो मैं प्रोग्रामिंग कर रहा हूँ और विंडोज 7 के माध्यम से एक साझा फाइल करने के लिए कार्यक्रम संकलन और एक रास्पबेरी Pi से जार चल रहा है।

inb4 "आपको रास्पबेरी पीआई पर जैवफैक्स की आवश्यकता क्यों है" - एचटीएमएल प्रस्तुत करने के लिए, क्योंकि अन्य जावा घटक केवल एचटीएमएल 3.2 का समर्थन करते हैं। मैंने अन्य प्रस्तुतकर्ताओं की कोशिश की है। यह एकमात्र ऐसा है जिसे मैं अपने डेस्कटॉप पर भी काम कर सकता हूं, अकेले आरपीआई को छोड़ दें।

इसके अलावा, मैं प्रोग्रामिंग और 1.8.0 पर संकलन भी कर रहा हूं।

अद्यतन:

प्रति जोस पेरेडा के जवाब के रूप में, मैं (अब मैं अपने फ़ोल्डर के रूप में /usr/bin/jdk8u6/ उपयोग कर रहा हूँ, और स्पष्ट रूप से jdk1.8.0_06) JavaFX फ़ाइलें डाउनलोड कर ली और स्थापित अपने मूल जावा में उन्हें रखा।

यहाँ मेरी स्थापित पदानुक्रम है, 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 

मैं अभी भी एक ही त्रुटि मिलती है।

उत्तर

3

आप एक अद्यतन और उन्नत यहां से एआरएम के लिए JavaFX के संस्करण को डाउनलोड कर सकते हैं: (इस link जाँच JavaFX Embedded SDK

एक बार अपने रास्पबेरी Pi पर डाउनलोड किया है, तो आप को निकालने और अपने JDK 1.8 में सामग्री की प्रतिलिपि करने की आवश्यकता होगी के लिए एम्बेडेड)।

आप वेबवी नियंत्रण सहित अपने पीआई पर एआरएम * के लिए नवीनतम जावाएफएक्स संस्करण चलाने में सक्षम होंगे।

इसके अलावा, आपके आईडीई के लिए ग्लूऑन प्लगइन का उपयोग करके, आप अपने पीआई पर भी remotely प्रोजेक्ट को तैनात करने में सक्षम होंगे।

संपादित

* एआरएम: ध्यान दें कि एआरएम के लिए JavaFX घुमाओ समर्थित नहीं किया है। वेबव्यू और मीडिया जैसी अन्य सुविधाएं या तो समर्थित नहीं थीं, लेकिन हाल ही में इन्हें ग्लूऑन के निर्माण में शामिल किया गया है।

+0

दूरस्थ रूप से तैनाती के बारे में थोड़ा सा धन्यवाद, मैं इसका उपयोग कर सकता हूं। बाकी के लिए, अब परीक्षण – zfollette

+0

काम नहीं किया। ओपी – zfollette

+1

अपडेट कर रहा है आह, मैं उल्लेख करना भूल गया: एआरएम के लिए जावाएफएक्स में स्विंग कभी समर्थित नहीं था, लेकिन चूंकि आप वेबफ्यू के साथ जावाएफएक्स का उपयोग कर रहे हैं, तो क्या आप इसका इस्तेमाल कर सकते हैं? –

संबंधित मुद्दे