Grails 有用于 spring bean 的 cofig,称为resources.groovy
. 正如我从文档中了解的那样,它允许您使用 loadBeans(%path%) 包含另一个文件
我试过这个:
println 'loading application config ...'
// Place your Spring DSL code here
beans = {
loadBeans("classpath:security") //i'm tried with "spring/security" and "spring/security.groovy" also
}
但是当 grails 运行时,它会记录以下错误:
Caused by: org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Error evaluating bean definition script: class path resource [security] cannot be opened because it does not exist
Offending resource: class path resource [security]; nested exception is java.io.FileNotFoundException: class path resource [security] cannot be opened because it does not exist
at grails.spring.BeanBuilder.loadBeans(BeanBuilder.java:470)
at grails.spring.BeanBuilder.loadBeans(BeanBuilder.java:424)
at resources$_run_closure1.doCall(resources.groovy:13)
at resources$_run_closure1.doCall(resources.groovy)
... 45 more
脚本security.groovy
存在于grails-app/conf/spring
并由grails maven 插件编译成target/classes/security.class
. 此时目录target/resources/spring
为空
我如何配置 Grails 或 grails-maven-plugin 以复制此配置文件,而不是将其编译成类?
ps 当我尝试使用grails.config.locations = [ %path% ]
inside包含配置脚本时,也会出现这个问题conf/Config.groovy
,我的 groovy 脚本编译成类,因此,grails config builder 找不到它们:(