【发布时间】:2012-02-12 02:44:49
【问题描述】:
更新我的 grails 应用程序的安全插件后,我在部署到 tomcat 时收到以下错误:
2012-01-17 09:13:04,970 [pool-2-thread-1] 错误 context.ContextLoader - 上下文初始化失败 org.springframework.beans.factory.access.BootstrapException:执行引导程序时出错;嵌套异常是 org.codehaus.groovy.runtime.InvokerInvocationException:groovy.lang.MissingMethodException:没有方法签名:静态 org.example.SecRole.findByAuthority() 适用于参数类型:(java.lang.String) 值:[ ROLE_USER]
在通过 run-app 进行测试时,该应用运行良好。
SecRole 类已由 spring 安全插件自动生成。
我之前在使用旧版本的 spring security 插件时将应用程序部署在同一台服务器上没有问题。
几个小时以来我一直在反对这个问题。非常感谢您的想法。
【问题讨论】:
-
查看 WAR 中的 WEB-INF/grails.xml 文件。它是否包含 SecRole 的条目?
-
是的,war中的grails.xml文件中有安全插件生成文件的条目:
org.example.SecRole org.example.SecUser org.example.SecUserSecRole -
升级到 grails2.0 是否有帮助?
-
我刚刚用 Grails 2.0 进行了测试,它运行良好。所以这是 Grails 1.3.7(或者可能是所有 1.3.x 版本)特有的东西。
-
谢谢,升级到 2.0 确实解决了这个问题,尽管它引入了许多其他问题 :)
标签: grails spring-security bootstrapping missingmethodexception