我有一个grails 1.1 web应用程序,在开发中运行得很好,但当我尝试在生产环境中使用sqlserver数据库运行它时,它以一种奇怪的方式崩溃。
我的datasource.groovy的相关部分如下:
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" 我收到的错误消息是:
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')
}
}
}堆栈跟踪如下:
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任何帮助都是非常感谢的。
谢谢你,萨拉
发布于 2009-06-18 20:55:05
我通过删除我的数据库并创建一个新的数据库来解决我的问题。当我更改域对象时,我认为我的数据库中的一些字段没有正确映射。不过,这个错误并没有真正将我引向这个方向!
莎拉
发布于 2009-10-29 22:03:18
这个问题在Grails邮件列表的in this thread上讨论过。它应该在Grails 1.2中得到修复。早期版本的Grails的一种解决方法是将以下内容添加到Bootstrap.groovy
JsecRole.get(-1)https://stackoverflow.com/questions/1012036
复制相似问题