В настоящее время я создаю плагин для Bukkit-Server, но у меня проблема с использованием механизма сценариев Nashorn. Я оцениваю внешний файл javascript из своего Java-плагина. Я не могу получить мой JavaScript, чтобы импортировать классы из моего плагина, только стандартные классы Java работают (как var JavaBool = Java.type('java.lang.Boolean');
, но не var Holder = Java.type('io.github.advtest1.js.JSHolder');
)Java Nashorn - ClassNotFoundException - Java.type()
Всякий раз, когда я пытаюсь загрузить один из них я получаю следующее сообщение об ошибке:
Caused by: java.lang.ClassNotFoundException: io.github.advtest1.js.JSHolder
После небольшого исследования я обнаружил, что он имеет какое-то отношение к моим плагиатам, находящимся в пути к классам, но как я могу добавить его в путь к классам, когда сам Bukkit загружает плагин, и я не хочу никаких других запусков для сервер затем java -jar bukkit.jar
?
Не стесняйтесь спрашивать, если вам нужна дополнительная информация. Спасибо заранее!
Это выглядит как только 'Java', а не' JavaScript' ... – Arg0n
это поможет установить контекст загрузчика классов, прежде чем создавать ScriptEngine, как описано здесь HTTP: // StackOverflow .com/a/30251930/3215527 – wero
@wero Я попробую это, один момент! И для Arg0n: да, приведенные выше примеры - все javascript, потому что это проблема javascript. если я не использую какие-либо другие классы, оценивающие скрипты из java-работ, отлично. – fusionlightcat