В Groovy есть различие между скриптами и классами.Если файл Groovy содержит некоторый код вне определения класса, он считается сценарием и компилируется в класс, расположенный в пакете по умолчанию (независимо от того, что установлено в объявлении package
).
Я не знаю, как вы вызываете скрипты Groovy, но если для этого вы используете класс GroovyShell
, то у GroovyShell
есть конструктор с параметром типа ClassLoader
ивы можете передать ваш текущий загрузчик классов этому или вашему пользовательскому загрузчику классов, который содержит ваши другие скомпилированные скрипты Groovy.Или, если вы используете GroovyScriptEngine
, вы можете передать ссылку в каталог, где находятся ваши скрипты, и движок скомпилирует их для вас и сделает их доступными для других скриптов в этом каталоге.
Подробнееинформацию о встраивании Groovy в Java можно найти здесь: http://groovy.codehaus.org/Embedding+Groovy.
Но в целом мне нужно знать больше о вашей настройке (структура папок, инструмент сборки, вы компилируете Groovy-код во время процесса сборки, как вызапустить Groovy-код из Java, как вы называете Groovy-скрипт из Groovy, как вы организовываете свой путь к классам и т. д.), чтобы дать вам более точный совет.