Groovy Spring Bean Classpath - PullRequest
       17

Groovy Spring Bean Classpath

2 голосов
/ 03 марта 2011

Я пытаюсь запустить Groovy скрипт при запуске для веб-приложения.Сначала я пытаюсь следовать примеру из книги «Весенние рецепты».

У меня есть SimpleInterestCalculator в следующем пакете - com.apress.springrecipes.interest

Пакет bean-компонентов находится в src/test/resources в пакете com.wer.com, и вот где находится bean-компонент.

Моя запись в этом

<lang:groovy id="interestCalculator" script-source="classpath:com/apress/springrecipes/interest/SimpleInterestCalculator.groovy">
  <lang:property name="rateCalculator" value="rateCalculator" />
</lang:groovy>

Я получаю следующую ошибку.

Caused by: org.springframework.beans.factory.BeanCreationException:
  Error creating bean with name 'simpleInterestCalculator':
  Could not determine scripted object type for GroovyScriptFactory:
    script source locator [classpath:src/com/apress/springrecipes/interest/SimpleInterestCalculator.groovy];
  nested exception is java.io.FileNotFoundException:
    class path resource [src/com/apress/springrecipes/interest/SimpleInterestCalculator.groovy] cannot be opened because it does not exist

1 Ответ

4 голосов
/ 01 мая 2011

Вы получаете ошибку FileNotFoundException.Это означает, что он не находит сам файл сценария.Если файл присутствует, то он может отсутствовать в пути к классам во время выполнения.

Проверьте каталог bin / out в вашей среде IDE, чтобы увидеть, присутствует ли там файл .groovy.Иногда, если у вас есть .groovy в исходном каталоге, ваша IDE предполагает, что это «исходный» код, и компилирует его в байт-код.В результате вы получите файл .class в пути к классам вместо самого скрипта groovy.Это будет зависеть от настроек и того, какую IDE вы используете.Если это кажется проблемой, возможно, есть вариант для этого, или вы можете использовать альтернативное расширение, которое не будет обнаружено компилятором.

...