/ / Embedded groovy в Java, groovy.lang.MissingPropertyException: Немає такої властивості: - java, groovy

Вбудований groovy в Java, groovy.lang.MissingPropertyException: Немає такої властивості: - java, groovy

Я працюю над проектом Java, який завантажується вGroovy скрипти. Все працює як очікується, за винятком groovy скриптів, які посилаються на інші groovy скрипти, в даному випадку, клас корисності. Кожного разу, коли виконується сценарій, що включає вказаний клас корисності, завантажувач плагінів видає виняток "groovy.lang.MissingPropertyException: Немає такої властивості: Util.

Перш ніж я підозрюю, що щось не так зКод Java, я хотів спочатку зрозуміти, як Groovy "знаходить" інші класи. Якщо я запускаю цей проект у eclipse, і весь каталог проекту, який включає всі ці родовисті скрипти, знаходиться в шляху до класу, чи всі грейкові сценарії зможуть "знайти" один одного?

Або будь-які інші думки?

Відповіді:

1 для відповіді № 1

Groovy має відмінність між скриптами ізаняття Якщо файл Groovy містить деяке визначення поза межами класу, то він вважається скриптом, і він складається в клас, розташований в пакеті за замовчуванням (незалежно від того, що встановлено package декларація)

Я не знаю, як ви називаєте Groovy скрипти, але якщо ви використовуєте GroovyShell клас за це, потім GroovyShell має конструктор з параметром ClassLoader тип, і ви можете передати ваш поточний завантажувач класу на той або ваш користувальницький завантажувач класів, який містить інші скомпільовані скрипти Groovy. Або якщо ви використовуєте GroovyScriptEngine ви можете передати referenece до каталогу, у якому є ваші скрипти, і движок буде компілювати їх для вас і зробити їх доступними для інших сценаріїв у цьому каталозі.

Більше інформації про вставку Groovy в Java можна знайти тут: http://groovy.codehaus.org/Embedding+Groovy.

Але в цілому мені потрібно більше дізнатися про вашуналаштовувати (структуру папок, інструмент зібрання, ви збираєте groovy код під час процесу збирання, як ви запускаєте groovy код з java, як ви називаєте groovy скрипт з groovy, як ви організовуєте classpath тощо), щоб дати вам більш точний поради