Я заметил, что при использовании утилиты командной строки nashorn JJS любой ресурс, включенный в путь к классам, будь то включенный в JAR или расположенный в папке пути к классам, недоступен для сценариев. Простой пример:
echo "java.lang.Class.class.getResourceAsStream('/test.txt')" | jjs -cp .
Когда файл «test.txt» включен в текущую папку (которая добавляется в путь к классам с помощью параметра -cp), этот код всегда возвращает «null». Если я запускаю аналогичный пример, используя java и jvm напрямую, я получаю ожидаемый ресурс (ссылку на входной поток). Под носорогом я получаю те же результаты, используя аналогичный пример.
Это ожидаемое поведение? Есть ли способ получить доступ к ресурсам по пути к классам в nashorn? Например, это вызывает много проблем с контекстами Spring: каждый раз, когда я пытаюсь загрузить контекст своего приложения из XML-файла, у меня возникают проблемы, потому что он не может найти некоторые необходимые ресурсы во время выполнения. Под Rhino это работало нормально, но мы планируем перейти на nashorn. Любая помощь приветствуется.