/ / Вграден в Java, groovy.lang.MissingPropertyException: Няма такова свойство: - java, groovy

Вграден groovy в Java, groovy.lang.MissingPropertyException: Няма подобна собственост: - java, groovy

Работя върху Java проект, който се зареждаСкриптове. Всичко работи според очакванията, с изключение на groovy скриптове, които се позовават на други groovy скриптове, в този случай на полезен клас. Всеки път, когато се изпълнява скрипт, който включва споменатия помощен клас, приставката за приставки дава изключение "groovy.lang.MissingPropertyException: Няма такова свойство: Util.

Преди да подозирам, че нещо не е наред сJava код, исках първо да разбера как Groovy "намира" други класове. Ако изпълнявам този проект в затъмнение, и цялата директория на проекта, която включва всички тези скриптове groovy е в classpath трябва всички groovy скриптове да могат да "намерят" един друг?

Или някакви други мисли?

Отговори:

1 за отговор № 1

Groovy има разлика между скриптове икласове. Ако файлът Groovy съдържа някакъв код извън дефиницията на класа, той се счита за скрипт и се компилира в клас, разположен в пакета по подразбиране (независимо от това, което е зададено в package декларация).

Не знам как наричате Groovy скриптове, но ако използвате GroovyShell клас за това, тогава GroovyShell има конструктор с параметър от ClassLoader тип и можете да прехвърлите текущия си товарач за клас на този или вашия потребителски товарач на класове, който съдържа другите ви компилирани скриптове на Groovy. Или ако използвате GroovyScriptEngine можете да прехвърлите референция към директория, където са вашите скриптове, и двигателят ще ги компилира за вас и ще ги направи достъпни за други скриптове в тази директория.

Повече информация за вграждането на Groovy в Java можете да намерите тук: http://groovy.codehaus.org/Embedding+Groovy.

Но като цяло трябва да знам повече за вашетоsetup (структура на папките, инструмент за изграждане, компилирате groovy код по време на процеса на изграждане, как се изпълнява кодът на groovy от java, как се нарича groovy скрипт от groovy, как да организирате вашия classpath и др.) съвети.