Gần đây tôi đã bắt đầu chú ý đến những cảnh báo sau đây khi khởi động ứng dụng JavaFX của tôi:JavaFX FXML cảnh báo phiên bản API
CẢNH BÁO: Đang tải tài liệu FXML với JavaFX API của phiên bản 8.0.65 bởi JavaFX thời gian chạy của phiên bản 8.0.60
FXML được đề cập đã được tạo bởi Gluon Scene Builder 8.1.0, chạy với gói Java, phiên bản 1.8.0_65. Ứng dụng được khởi chạy với Java OS của tôi, phiên bản 1.8.0_72.
Nút gốc của FXML không có thuộc tính
xmlns="http://javafx.com/javafx/8.0.65"
nhưng tôi figured 1.8.0_72> 1.8.0_65, vậy tại sao tôi nhận được thông báo này? Đó có phải là điều tôi nên lo lắng không? Và có cách nào để hỏi jre phiên bản JavaFX API (mà, rõ ràng, không giống như phiên bản Java)?
Edit:
Chạy mã James_D đề nghị cung cấp cho các kết quả như sau: phiên bản
java: 1.8.0_72-nội
javafx.version: 8.0.60
Vì vậy, ngoại hình giống như phiên bản JavaFX trong JDK là sai? Hoặc có lẽ tôi có một jfxrt.jar cũ? Tôi sẽ xem xét điều đó.
Hãy thử 'System.out.println (" phiên bản java: "+ System.getProperty (" java.version "));' và 'System.out.println (" javafx.version: "+ System.getProperty (" javafx.version "));'.Chúng gần như chắc chắn sẽ giống nhau, vì vậy có thể bạn không chạy với phiên bản Java của hệ điều hành mà bạn nghĩ bạn đang sử dụng. –
Thực chất là không giống nhau. Tôi đã chỉnh sửa câu hỏi của mình. Tôi nghi ngờ vì javafx vẫn xuất hiện trên một gói riêng trên Debian, bằng cách nào đó nó không được cập nhật. – Itai
Ah, vâng, bạn đang sử dụng JDK mở (tôi đoán), vì vậy JavaFX là một gói riêng biệt. Có vẻ như bạn có phiên bản JavaFX cũ. Vì vậy, tôi không biết về bất kỳ FXML cụ thể cho u65 trên u60, nhưng nói chung tôi đoán bạn có lẽ nên thực hiện với một phiên bản ít nhất là mới như phiên bản mà bạn đã xây dựng nó. Tôi chỉ tiếp tục và đưa phiên bản JavaFX của bạn cập nhật lên phiên bản Java của bạn, nếu có thể. –