首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在生产环境中运行的grails web应用程序的问题:“没有这样的属性:保存为类: JsecRole”

在生产环境中运行的grails web应用程序的问题:“没有这样的属性:保存为类: JsecRole”
EN

Stack Overflow用户
提问于 2009-06-18 10:53:29
回答 2查看 1.5K关注 0票数 0

我有一个grails 1.1 web应用程序,在开发中运行得很好,但当我尝试在生产环境中使用sqlserver数据库运行它时,它以一种奇怪的方式崩溃。

我的datasource.groovy的相关部分如下:

代码语言:javascript
复制
environments {
    development {
        dataSource {
            dbCreate = "create-drop" // one of 'create', 'create-drop','update'
            url = "jdbc:hsqldb:mem:devDB"
        }
    }
    test {
        dataSource {
            dbCreate = "update"
            url = "jdbc:hsqldb:mem:testDb"
        }
    }
    production {

        dataSource {
            dbCreate = "update"
            driverClassName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"
            endUsername = "sa"
            password = "pw4db"
            url = "jdbc:sqlserver://localhost:1433;databaseName=ReleasePlanner;selectMethod=cursor"       

我收到的错误消息是:

代码语言:javascript
复制
Message: No such property: save for class: JsecRole
Caused by: groovy.lang.MissingPropertyException: No such property: save for class: JsecRole
Class: ProjectController
At Line: [28]
Code Snippet:
27: println "###about to create project roles"
28: userManagerService.createProjectRoles(project)
29: userManagerService.addUserToProject(session.user.id.toString(), project, 'owner')       
        }
    }
}

堆栈跟踪如下:

代码语言:javascript
复制
org.codehaus.groovy.runtime.InvokerInvocationException: groovy.lang.MissingPropertyException: No such property: save for class: JsecRole

    at org.jsecurity.web.servlet.JSecurityFilter.doFilterInternal(JSecurityFilter.java:382)

    at org.jsecurity.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:180)

Caused by: groovy.lang.MissingPropertyException: No such property: save for class: JsecRole

    at UserManagerService.createProjectRoles(UserManagerService.groovy:9)

    at UserManagerService$$FastClassByCGLIB$$6fa73713.invoke(<generated>)

    at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)

    at UserManagerService$$EnhancerByCGLIB$$fcf60984.createProjectRoles(<generated>)

    at UserManagerService$createProjectRoles.call(Unknown Source)

    at ProjectController$_closure4.doCall(ProjectController.groovy:28)

    at ProjectController$_closure4.doCall(ProjectController.groovy)

    ... 2 more

任何帮助都是非常感谢的。

谢谢你,萨拉

EN

回答 2

Stack Overflow用户

发布于 2009-06-18 20:55:05

我通过删除我的数据库并创建一个新的数据库来解决我的问题。当我更改域对象时,我认为我的数据库中的一些字段没有正确映射。不过,这个错误并没有真正将我引向这个方向!

莎拉

票数 0
EN

Stack Overflow用户

发布于 2009-10-29 22:03:18

这个问题在Grails邮件列表的in this thread上讨论过。它应该在Grails 1.2中得到修复。早期版本的Grails的一种解决方法是将以下内容添加到Bootstrap.groovy

代码语言:javascript
复制
JsecRole.get(-1)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1012036

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档