JavaFXバージョンを見つける方法



How Find Out Javafx Version



解決:

Javaランタイムで行うのと同じ方法でこれを実際に行うことはできません。違いはjavaは、JVMを起動するマシン実行可能ファイルです。 JavaFXは単なるライブラリクラスのセットです。同じ意味で実際には実行可能ファイルではありません。

実行時に読み取ることができるSystemプロパティが保持されているようですjre / lib / javafx.propertiesなので、次のようなことができます



cat $ JAVA_HOME / jre / lib / javafx.properties

または、Windowsで実行している場合は、Windowsに相当するものは何でも。ただし、実行時に取得するSystemプロパティが空白の場合は、このファイルが存在しない可能性があります。 dfeuerがコメントしたように、JREのバージョンを知ることは役に立ちます。

アップデート :JDK / JREバージョンとJavaFXバージョンの関係は以下のとおりです。



JRE 1.7.0アップデート6以降、JavaFXはJREに含まれていましたが、クラスパスには含まれていませんでした。したがって、JRE 1.7.0、アップデート6以降では、jfxrt.jarファイルはに含まれていますJAVA_HOME / jre / lib。 NSJavaFXバージョン情報を含むjavafx.propertiesファイルは同じディレクトリにありますが、理論的には少なくともJREバージョンがJavaFXバージョンを決定します(一緒に出荷されたため)。

マシンにインストールしたJDK1.7.0バージョンを調べるだけで、JDKバージョンからJavaFXバージョンへのマッピングは次のようになります。

/Library/Java/JavaVirtualMachines/jdk1.7.0_06.jdk javafx.runtime.version = 2.2.0 /Library/Java/JavaVirtualMachines/jdk1.7.0_10.jdk javafx.runtime.version = 2.2.4 / Library / Java / JavaVirtualMachines /jdk1.7.0_11.jdk javafx.runtime.version = 2.2.4 /Library/Java/JavaVirtualMachines/jdk1.7.0_13.jdk javafx.runtime.version = 2.2.5 / Library / Java / JavaVirtualMachines / jdk1.7.0_17。 jdk javafx.runtime.version = 2.2.7 /Library/Java/JavaVirtualMachines/jdk1.7.0_21.jdk javafx.runtime.version = 2.2.21 /Library/Java/JavaVirtualMachines/jdk1.7.0_25.jdk javafx.runtime.version = 2.2.25 /Library/Java/JavaVirtualMachines/jdk1.7.0_40.jdk javafx.runtime.version = 2.2.40 /Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk javafx.runtime.version = 2.2.45

JRE 1.8.0以降、JavaFXはJREに含まれ、クラスパスに配置されました。したがって、これは事実上コアライブラリの完全な部分です。バージョン1.8.0では、jfxrt.jarファイルはにありますJAVA_HOME / jre / lib / ext(これにより自動的にクラスパスの一部になります)。 NSJavaFXバージョン情報を含むjavafx.propertiesファイルはまだありますJAVA_HOME / jre / lib。バージョン1.8.0(のように見える)のJavaFXのバージョン番号は、単にJREバージョンを模倣しています。



/Library/Java/JavaVirtualMachines/jdk1.8.0.jdk javafx.runtime.version = 8.0.0 /Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk javafx.runtime.version = 8.0.5 / Library / Java / JavaVirtualMachines / jdk1.8.0_20.jdk javafx.runtime.version = 8.0.20

だからあなたの顧客と一緒に、あなたは単に彼らにそうするように頼むことができますjava-versionとほとんどの場合、JavaFXバージョンを推測することができます。まれに、もう少し深く掘り下げる必要がある場合があります。

ある種の関連する注意:アプリケーションを顧客に出荷していて、特定のバージョンを決定する必要がある場合は、アプリケーションにJRE(およびJavaFXランタイム)を含める自己完結型アプリケーションの使用を検討してください。