2012-06-29 11 views

उत्तर

31
com.sun.javafx.runtime.VersionInfo.getRuntimeVersion(); 
+0

जावा वेब के माध्यम से काम करने के लिए शुरू – assylias

+0

आप, कृपया, विस्तृत कर सकते हैं नहीं लगता है? क्या कोई आउटपुट या अपवाद है? –

+1

मेरे पास यह मेरे सामने नहीं है, लेकिन पदार्थ में: क्लासलोडर अपवाद, com.sun.javafx.runtime.VersionInfo लोड नहीं कर सकता है। और कार्यक्रम शुरू नहीं होता है। – assylias

14

आप सिस्टम प्रॉपर्टी से javafx.runtime.version नंबर प्राप्त कर सकते हैं।

import javafx.application.Application; 
import javafx.stage.Stage; 
public class ReportVersion extends Application { 
    public static void main(String[] args) { launch(args); } 
    @Override public void start(Stage stage) { 
    System.out.println("javafx.runtime.version: " + System.getProperties().get("javafx.runtime.version")); 
    System.exit(0); 
    } 
} 

ध्यान दें कि प्रणाली संपत्ति अभिगम विधि एक सुरक्षा अपवाद का कारण हो सकता है, तो एक अहस्ताक्षरित आवेदन एक ब्राउज़र में एम्बेडेड या WebStart के माध्यम से पहुंचा जा सकता है, तो सेर्गेई की com.sun कॉल बेहतर भले ही सभी com.sun कॉल पदावनत कर रहे हैं और नहीं हिस्सा हो सकता है आधिकारिक जावाएफएक्स सार्वजनिक एपीआई का।

अद्यतन

@assylias सेर्गेई के जवाब पर टिप्पणी संकेत मिलता है कि सेर्गेई की com.sun एक सुरक्षा अपवाद का कारण हो सकता है, तो एक अहस्ताक्षरित आवेदन एक ब्राउज़र में एम्बेडेड या WebStart के माध्यम से पहुँचा जा सकता है प्रतीत होता है। तो शायद उन विशिष्ट स्थितियों के तहत चलते समय javafx रनटाइम संस्करण को निर्धारित करने के लिए कोई अच्छा समाधान नहीं है।

+0

यह अनुमतियों की कमी के कारण सैंडबॉक्स वाले एप्लेट में काम नहीं करता है। थोड़ा संशोधित संस्करण 'System.getProperty ("javafx.runtime.version")' इस त्रुटि के साथ भी काम नहीं करता है: 'java.security.AccessControlException: एक्सेस अस्वीकार ("java.util.PropertyPermission" "javafx.runtime.version" "पढ़ें") ' –

36

आपके $JAVA_HOME/jre/lib निर्देशिका में स्थित javafx.properties फ़ाइल को पढ़ने के लिए सरल तरीकों में से एक है।

मेरे पास इस समय जावा 1.7 u9 स्थापित है। JavaFX यह बंडल के साथ v2.0.3 है तो उपरोक्त फ़ाइल निम्न पंक्ति में शामिल हैं:

javafx.runtime.version=2.0.3 
+0

मैंने जावा 1.8.0-31 स्थापित किया और इसलिए मुझे' javafx.runtime.version = 8.0.31' मिल रहा है। क्या यह सही है? – Brian

+1

हां, यह है। जावा 1.8.0 में जावाएफएक्स 8 बंडल है। – DejanLekic

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