0

更新我的Grails应用程序的安全性插件后,我部署到Tomcat时收到以下错误:MissingMethodException Grails的引导Tomcat上

2012-01-17 09:13:04970 [池2线程1] ERROR context.ContextLoader - 上下文初始化失败 org.springframework.beans.factory.access.BootstrapException:执行引导程序时出错;嵌套异常是org.codehaus.groovy.runtime.InvokerInvocationException:groovy.lang.MissingMethodException:方法没有签名:static org.example.SecRole.findByAuthority()适用于参数类型:(java.lang.String)values:[ ROLE_USER]

该应用在通过run-app测试时工作正常。

SecRole类已由spring security插件自动生成。

我以前在同一台服务器上部署应用程序时,使用老版本的安全性插件时没有问题。

已经敲了我的头几个小时。非常赞赏的想法。

+0

查看WAR中的WEB-INF/grails.xml文件。它是否包含SecRole的条目? – 2012-01-17 16:14:56

+0

的安全插件是的,有项产生在战争中grails.xml文件中的文件: org.example.SecRole org.example.SecUser org.example.SecUserSecRole ilyashev 2012-01-18 00:45:24

+0

任何机会升级到grails2.0可能有帮助? – ilyashev 2012-01-18 01:35:57

回答

0

根据Peter的上述评论,升级到Grails 2.0解决了上述问题。不过,我后来遇到了有关该应用的一系列升级问题。

0

您是否使用自己的Spring Security的用户和角色类?

您是否尝试过创建一个新的grails项目并将其与度假申请示例应用程序一起安装以测试它?

最后,我可以知道您使用的是哪个Grails版本和操作系统吗?

干杯,

慈健

+0

是的,我正在使用我自己的用户和角色类,根据hubbub示例应用程序。其实喧哗是我的应用程序的基础。我在Mac OS X Snow Leopard上使用Grails 1.3.7和STS。我刚刚升级到了spring-security-core 1.2。7和spring-security-ui 0.1.2 – ilyashev 2012-01-18 00:28:46

0

我的督促ENV:Tomcat的7,Fedora的,Grails的1.3.7,Activiti的弹簧安全0.4.6,弹簧安全核心1.2.7 Activiti的5.8。 2

开发信封:MAC OS 10.6,Grails的1.3.7,Activiti的弹簧安全0.4.6,弹簧安全核心1.2.7,在Activiti的5.8.2

我已经安装了休假申请程序新鲜的grails项目,并且在我运行grails run-app(在dev和prod模式下)时工作正常。

+0

这似乎是spring-security-core插件中的一个bug。我为它创建了JIRA http://jira.grails.org/browse/GPSPRINGSECURITYCORE-156 – 2012-01-17 20:29:08

+0

这既是一种解脱,也是一种失望:很高兴知道这不是我的错,但现在我们必须等待插件团队修复它 – ilyashev 2012-01-18 00:48:13

+0

是不是这是一个非常关键的问题?票证的优先权可能不会被提高?还有,在此期间我们如何解决这个问题的任何想法? – ilyashev 2012-01-18 00:49:54

1

这是插件v1.2.7中的一个bug。我发布了v1.2.7.1来修复它;你也可以降级到v1.2.6。