如何在运行时找到我正在使用的JavaFX版本?
答案 0 :(得分:41)
一种简单的方法是简单地阅读位于javafx.properties
目录中的$JAVA_HOME/jre/lib
文件。
我目前安装了Java 1.7 u9。与之捆绑的JavaFX是v2.0.3,因此上述文件包含以下行:
javafx.runtime.version=2.0.3
答案 1 :(得分:36)
com.sun.javafx.runtime.VersionInfo.getRuntimeVersion();
答案 2 :(得分:17)
您可以从系统属性中获取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
次呼叫,谢尔盖的com.sun
呼叫也可能更好已弃用,而不是官方JavaFX公共API的一部分。
更新
@assylias对谢尔盖答案的评论似乎表明,如果未签名的应用程序嵌入在浏览器中或通过WebStart访问,则Sergey {{1}}可能会导致安全性异常。因此,在这些特定条件下运行时,确定javafx运行时版本可能没有很好的解决方案。