Ресурсы Classpath с Nashorn (JJS)

Я заметил, что при использовании утилиты командной строки nashorn JJS любой ресурс, включенный в путь к классам, будь то включенный в JAR или расположенный в папке пути к классам, недоступен для сценариев. Простой пример:

echo "java.lang.Class.class.getResourceAsStream('/test.txt')" | jjs -cp .

Когда файл «test.txt» включен в текущую папку (которая добавляется в путь к классам с помощью параметра -cp), этот код всегда возвращает «null». Если я запускаю аналогичный пример, используя java и jvm напрямую, я получаю ожидаемый ресурс (ссылку на входной поток). Под носорогом я получаю те же результаты, используя аналогичный пример.

Это ожидаемое поведение? Есть ли способ получить доступ к ресурсам по пути к классам в nashorn? Например, это вызывает много проблем с контекстами Spring: каждый раз, когда я пытаюсь загрузить контекст своего приложения из XML-файла, у меня возникают проблемы, потому что он не может найти некоторые необходимые ресурсы во время выполнения. Под Rhino это работало нормально, но мы планируем перейти на nashorn. Любая помощь приветствуется.


person emerino    schedule 25.09.2016    source источник
comment
Я нашел эту вики github, где указано, что загрузка ресурсов возможна только для загрузчика классов приложений nashorn: github. com/DaniHaag/snippets/wiki/Насхорн   -  person emerino    schedule 26.09.2016
comment
На этот связанный вопрос дается полезный ответ, но он включает программное создание движка nashorn вместо использования JJS: stackoverflow.com/questions/30225398/   -  person emerino    schedule 26.09.2016