2011-03-03 75 views
0

我正在嘗試在啓動時爲web應用程序運行groovy腳本。我首先試圖遵循Spring Recipes一書中的一個例子。Groovy Spring Bean Classpath

我有一個SimpleInterestCalculator在下面的包 - com.apress.springrecipes.interest

這個包是在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

我已經向您解釋瞭如何在啓動Spring應用程序時運行Groovy腳本。在提出類似的新問題之前,您應該接受或評論該答案。 – 2011-03-03 07:58:30

回答

3

您遇到的錯誤是FileNotFoundException。這意味着它沒有找到腳本文件本身。如果該文件存在,那麼它可能不在運行時的類路徑中。

檢查您的IDE中的bin/out目錄以查看.groovy文件是否存在。有時,如果在源目錄中有.groovy,則IDE將假定這是「源」代碼並將其編譯爲字節碼。結果是你最終會在類路徑中產生一個.class文件,而不是groovy腳本本身。這將隨設置和您使用的IDE而變化。如果這似乎是問題,那麼可能會有一個選項,或者您可以使用不會被編譯器拾取的備用擴展。