Я збираюся додати тут ще одну відповідь, лише щоб надати, на мій погляд, найбільш мінімальний підхід. У моєму налаштуванні Eclipse я встановив e (fx) clipse, який надає одне виправлення для цього, а також надає безліч корисних функцій розробки, які ви майже напевно захочете, якщо ви пишете програми JavaFX. Це, мабуть, найбільш практичний підхід. Якщо з якихось причин ви не хочете використовувати цей плагін, рішення, описане у цій відповіді, вирішить проблему з найменшою кількістю інших побічних ефектів.
Як зазначалося в інших відповідях, Eclipse за замовчуванням забороняє доступ до класів у файлах jar у каталозі jre / lib / ext, оскільки вони не гарантовано будуть присутніми на всіх платформах Java. Якщо ви пишете програму JavaFX 8, ви припускаєте, що знаходитесь на платформі, де jfxrt.jar доступний у розташуванні lib / ext.
Отже, мінімальним виправленням цього є надання доступу до класів у цьому jar-файлі (і лише в цьому jar-файлі). Для цього клацніть проект правою кнопкою миші та відкрийте діалогове вікно властивостей проекту. Виберіть "Побудувати шлях" на лівій панелі та виберіть вкладку "Бібліотеки". Ви побачите запис "Системна бібліотека JRE". Розгорніть цей запис, і ви побачите підзапис "Правила доступу":
Виберіть запис "Правила доступу" та натисніть "Редагувати". Клацніть «Додати».
У розділі "Роздільна здатність" виберіть "Доступний", а в "Шаблон правила" введіть javafx/**
:
Натисніть OK, щоб вийти з усіх діалогових вікон.
Цей параметр дозволить отримати доступ до всіх класів у будь-яких пакунках, що починаються javafx.
, але збереже правило в папці ext для всіх інших класів і в цьому сенсі є "мінімальним".
Знову ж таки, що ви, мабуть, дійсно хочете зробити, це встановити плагін e (fx) clipse, але, наскільки мені відомо, це рішення з найменшими побічними ефектами у вашій програмі Eclipse.