Встроенный JRuby доступ к классам, доступным для ScriptEngine

#jruby

#jruby

Вопрос:

Я добавляю поддержку JRuby в систему, которая уже имеет поддержку Jython.

Похоже, что-то отличается между доступом, который Jython имеет к среде родительского загрузчика классов, и тем, что есть у JRuby. Похоже, что Jython имеет полный доступ к любым классам ScriptEngine, который вызывает скрипт python, JRuby, похоже, имеет доступ только к java. * items.

Следующий код Jython работает и создает запись в журнале:

 from org.slf4j import LoggerFactory

def scriptLoaded(id):
  LoggerFactory.getLogger("org.openhab.core.automation.examples").info("Hello world!")
  

Следующий код jruby приводит к ошибке:

 def scriptLoaded(id)
  org.slf4j.LoggerFactory.getLogger("org.openhab.core.automation.examples").info("Hello Ruby")
end
  

Ошибка:

 NameError: missing class name (`org.slf4j.LoggerFactory')
  method_missing at org/jruby/javasupport/JavaPackage.java:252
    scriptLoaded at <script>:35
  

Это выполняется в той же системе.

Есть ли у JRuby способ поиска в родительском загрузчике классов?

Комментарии:

1. есть ли шанс, что вы поделитесь настройкой, это простая загрузка javax.script engine? где находится jruby. jar, расположенный на пути к классу?