Tôi sẽ thêm một câu trả lời nữa ở đây, chỉ để cung cấp những gì tôi nghĩ là cách tiếp cận tối thiểu nhất. Trong thiết lập Eclipse của tôi, tôi đã cài đặt e (fx) clipse, cung cấp một bản sửa lỗi cho vấn đề này, cũng như cung cấp nhiều tính năng phát triển hữu ích mà bạn gần như chắc chắn sẽ muốn nếu bạn đang viết ứng dụng JavaFX. Đây có lẽ là cách tiếp cận thiết thực nhất. Nếu vì lý do nào đó mà bạn không muốn plugin đó, giải pháp được nêu trong câu trả lời này sẽ khắc phục sự cố với ít tác dụng phụ nhất.
Như đã chỉ ra trong các câu trả lời khác, Eclipse, theo mặc định, không cho phép truy cập vào các lớp trong tệp jar trong thư mục jre / lib / ext, vì chúng không được đảm bảo có mặt trên tất cả các nền tảng Java. Nếu bạn đang viết một ứng dụng JavaFX 8, bạn đang giả định rằng bạn đang ở trên một nền tảng mà jfxrt.jar có sẵn ở vị trí lib / ext.
Vì vậy, cách khắc phục tối thiểu cho điều này là cho phép truy cập vào các lớp trong tệp jar này (và chỉ trong tệp jar này). Để thực hiện việc này, hãy nhấp chuột phải vào dự án và hiển thị hộp thoại thuộc tính của dự án. Chọn "Đường dẫn xây dựng" trong ngăn bên trái và chọn tab "Thư viện". Bạn sẽ thấy mục nhập "Thư viện hệ thống JRE". Mở rộng mục nhập đó và bạn sẽ thấy một mục phụ "Quy tắc truy cập":
Chọn mục nhập "Quy tắc truy cập" và nhấp vào "Chỉnh sửa". Nhấp vào "Thêm".
Trong "Độ phân giải", chọn "Có thể truy cập" và trong "Mẫu quy tắc", hãy nhập javafx/**
:
Bấm OK để thoát khỏi tất cả các hộp thoại.
Cài đặt này sẽ cho phép truy cập vào tất cả các lớp trong bất kỳ gói nào bắt đầu javafx.
, nhưng sẽ bảo toàn quy tắc trên thư mục ext cho tất cả các lớp khác và theo nghĩa đó là "tối thiểu".
Một lần nữa, những gì bạn có thể thực sự muốn làm là cài đặt plugin e (fx) clipse, nhưng theo hiểu biết của tôi thì đây là giải pháp có ít tác dụng phụ nhất khi thiết lập Eclipse của bạn.