Используя пример, приведенный в documentation for ClassLoader я могу загрузить класс, который находится в том же пакете, ${it}
:Должен ли ClassLoader разрешать и загружать класс из другого пакета?
ClassLoader cl = it.class.getClassLoader()
def builder = cl.loadClass("hudson.plugins.emailext.plugins.ContentBuilder", true).newInstance()
Но когда я пытаюсь загрузить из другого пакета, как это:
def logParserParser = cl.loadClass("hudson.plugins.logparser.LogParserParser", true).newInstance()
Я получаю сообщение об ошибке:
Exception: javax.script.ScriptException: java.lang.ClassNotFoundException: hudson.plugins.logparser.LogParserParser
.
Как загрузить класс из другого пакета?
UPDATE:
Я был в состоянии сделать работу вокруг, чтобы исправить свою конкретную проблему. Было бы намного лучше, если бы класс просто решил. См. Мой ответ на другой вопрос: here.
Я обновил свой вопрос с точной погрешностью. Я могу перейти к классу с файловым браузером, поэтому я знаю, что он есть. Класс делает свою работу в Jenkins в веб-браузере тоже, я просто пытаюсь получить к нему доступ, чтобы я мог получить его выход, не проходя через веб-браузер. – ubiquibacon
Вы также можете получить эту ошибку, если класс ранее не загружался, например. статический блок выдал ошибку, однако истинная причина не сохраняется. –