С помощью метода GroovyClassLoader перекомпилировать removeClassCacheEntry

#groovy

#groovy

Вопрос:

Как я могу использовать эти методы

 protected Class     recompile(URL source, String className, Class oldClass)
  

(Повторно) компилирует данный исходный код.

 protected void  removeClassCacheEntry(String name)
  

удаляет класс из кэша классов.

в моей программе с использованием GroovyClassLoader

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

1. на самом деле GroovyScriptEngine может сделать это действительно хорошо, но, похоже, он не может скомпилировать groovy с взаимозависимыми отношениями

2. да, я согласен, тогда каково решение?

Ответ №1:

Эти методы защищены, потому что на самом деле вы не должны вызывать их напрямую и только в том случае, если вам нужно расширить GroovyClassLoader (GCL) с помощью специальной логики. GCL также обрабатывает только простые случаи перекомпиляции, он не может обрабатывать зависимости перекомпиляции. Предполагается, что для таких вещей вы должны использовать GroovyScriptEngine.