2015-03-10 3 views
0

Многие примеры, включая Oracle's own tutorial, относятся к некоторым классам в пакете jdk.hashorn.api.scripting. Однако он не является частью стандартного выпуска Java 8. И когда я попытался добавить его в свой код, он говорит мне: Access restriction: The type 'NashornScriptEngineFactory' is not API (restriction on required library 'C:\Program Files\Java\jre1.8.0_25\lib\ext\nashorn.jar').Nashorn и ClassFilter

Как я могу использовать функцию ClassFilter в своем проекте java?

ответ

2

Использовать текущий выпуск 1.8.0_40, а не 1.8.0_25. From the release notes:

Нового Java класс доступ Фильтрация Интерфейс

Интерфейс jdk.nashorn.api.scripting.ClassFilter позволяет ограничить доступ к определенным классам Java из сценариев запустить с помощью скриптового движка Насхорны. Дополнительную информацию см. В разделе Ограничение доступа к скрипту для указанных классов Java в Руководстве пользователя Nashorn и 8043717 (не общедоступно).

+0

Я искал этот u40 (для других вопросов), который я пропустил, когда он наконец вышел. :-) Благодаря. – Balage1551

+0

Я не пробовал, но в примечаниях к выпуску упоминается об этом. –

+0

Спасибо, это была только моя ошибка конфигурации. (файлы jar по-прежнему относятся к u25) – Balage1551

2

У меня была та же проблема. Даже попробовал обновить свой Java SDK, чтобы проверить, исправлено ли это. Обновлен до 1.8 u65 и имел ту же проблему. Если вы используете Eclipse, попытайтесь идти в

Windows-> Настройки-> от компилятор> Ошибки/Warnings->Устаревших и ограниченный API изменить Запретные ссылки (правила доступа) от Ошибки к Предупреждать.

Это открыло доступ для меня и позволило мне построить без проблем.

Смежные вопросы