【问题标题】:MissingMethodException in Grails Bootstrap on TomcatTomcat 上 Grails Bootstrap 中的 MissingMethodException
【发布时间】: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.SecRoleorg.example.SecUser org.example.SecUserSecRole
  • 升级到 grails2.0 是否有帮助?
  • 我刚刚用 Grails 2.0 进行了测试,它运行良好。所以这是 Grails 1.3.7(或者可能是所有 1.3.x 版本)特有的东西。
  • 谢谢,升级到 2.0 确实解决了这个问题,尽管它引入了许多其他问题 :)

标签: grails spring-security bootstrapping missingmethodexception


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    您是否在使用自己的 Spring Security 的 User 和 Role 类?

    您是否尝试过创建一个新的 grails 项目并使用假期请求示例应用程序安装它来测试它?

    最后,请问您使用的是哪个 Grails 版本和操作系统?

    干杯,

    志健

    【讨论】:

    • 是的,根据 hubbub 示例应用程序,我正在使用我自己的 User 和 Role 类。实际上,hubbub 是我的应用程序的基础。我在 Mac OS X Snow Leopard 上,使用带有 STS 的 Grails 1.3.7。我刚刚升级到 spring-security-core 1.2.7 和 spring-security-ui 0.1.2
    【解决方案3】:

    我的产品环境:Tomcat 7、Fedora、Grails 1.3.7、activiti-spring-security 0.4.6、spring-security-core 1.2.7 activiti 5.8.2

    开发环境:Mac OS 10.6、Grails 1.3.7、activiti-spring-security 0.4.6、spring-security-core 1.2.7、activiti 5.8.2

    我已经在新的 grails 项目上安装了假期请求应用程序,当我使用 grails run-app 运行时它运行良好(在开发和生产模式下)。

    【讨论】:

    • 这似乎是 spring-security-core 插件中的一个错误。我为它创建了一个 JIRA jira.grails.org/browse/GPSPRINGSECURITYCORE-156
    • 这既是一种解脱,也是一种失望:很高兴知道这不是我的错,但现在我们必须等待插件团队修复它
    • 这不是一个非常关键的问题吗?票的优先级可能不会提高吗?另外,有什么想法我们可以在此期间解决这个问题吗?
    • ilyashev:您尝试过使用旧版本的插件吗?我正在考虑做同样的事情,因为这对我来说是一个非常关键和紧迫的问题。
    • 感谢确认,因为这个问题不是由activiti插件引起的。
    【解决方案4】:

    根据上面 Peter 的评论,升级到 Grails 2.0 解决了我上面描述的问题。但是,我随后遇到了该应用程序的许多升级问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多