Làm thế nào tôi có thể tìm hiểu tại thời điểm chạy phiên bản JavaFX nào?Cách nhận số phiên bản JavaFX?
Trả lời
com.sun.javafx.runtime.VersionInfo.getRuntimeVersion();
Bạn có thể nhận số javafx.runtime.version
từ Thuộc tính hệ thống.
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);
}
}
Lưu ý rằng phương pháp truy cập hệ thống tài sản có thể gây ra một ngoại lệ an ninh nếu một ứng dụng unsigned được nhúng vào trong một trình duyệt hoặc truy cập thông qua WebStart, vì vậy com.sun
gọi Sergey có thể tốt hơn mặc dù tất cả com.sun
cuộc gọi được chấp nhận và không một phần của API công khai JavaFX chính thức.
Cập nhật
@assylias bình luận về câu trả lời của Sergey dường như để cho biết rằng Sergey com.sun
có thể gây ra một ngoại lệ an ninh nếu một ứng dụng unsigned được nhúng vào trong một trình duyệt hoặc truy cập thông qua WebStart. Vì vậy, có lẽ không có giải pháp tốt để xác định phiên bản thời gian chạy javafx khi chạy trong các điều kiện cụ thể đó.
Điều này không hoạt động trong một applet sandboxed do thiếu quyền. Phiên bản sửa đổi nhỏ 'System.getProperty (" javafx.runtime.version ")' cũng không hoạt động với lỗi này: 'java.security.AccessControlException: truy cập bị từ chối (" java.util.PropertyPermission "" javafx.runtime.version " "read") ' –
Một trong những cách đơn giản là chỉ cần đọc tệp javafx.properties
nằm trong thư mục $JAVA_HOME/jre/lib
của bạn.
Tôi đã cài đặt Java 1.7 u9 vào lúc này. JavaFX đi kèm với nó là v2.0.3 để các tập tin nói trên chứa các dòng sau:
javafx.runtime.version=2.0.3
Tôi đã cài đặt java 1.8.0-31 và vì vậy tôi nhận được' javafx.runtime.version = 8.0.31'. Thê nay đung không? – Brian
Vâng, đúng thế. Java 1.8.0 có JavaFX 8 đi kèm. – DejanLekic
Không có vẻ làm việc thông qua web Java bắt đầu – assylias
thể bạn, xin vui lòng, xây dựng? Có bất kỳ đầu ra hoặc ngoại lệ nào không? –
Tôi không có nó ở phía trước của tôi, nhưng trong chất: Ngoại lệ Classloader, không thể tải com.sun.javafx.runtime.VersionInfo. Và chương trình không bắt đầu. – assylias