刚开始学习Grails。我想使用spring security插件,因此我在BuildConfig.groovy中复制以下内容
plugins {
…
compile ':spring-security-core:2.0-RC4'
…
}
如前所述http://grails.org/plugin/spring-security-core。
之后,我执行grails compile
,因此会显示一条消息,告知我插件已正确安装。然后我输入grails s2-quickstart app.ejem Person Authority
,再次,好吧。但是当我运行应用程序时,我发现了以下错误:
|Loading Grails 2.4.3
|Configuring classpath
.
|Environment set to development
.................................
|Packaging Grails application
...........
|Compiling 4 source files
..............................
|Running Grails application
Configuring Spring Security Core ...
... finished configuring Spring Security Core
Error |
2014-08-11 18:02:51,924 [localhost-startStop-1] ERROR hbm2ddl.SchemaExport - HHH000389: Unsuccessful: alter table person_authority drop constraint FK_7d2mdh76otecbaoaq5y9p12ar if exists
Error |
2014-08-11 18:02:51,935 [localhost-startStop-1] ERROR hbm2ddl.SchemaExport - Tabla "PERSON_AUTHORITY" no encontrada
Table "PERSON_AUTHORITY" not found; SQL statement:
alter table person_authority drop constraint FK_7d2mdh76otecbaoaq5y9p12ar if exists [42102-176]
Error |
2014-08-11 18:02:51,936 [localhost-startStop-1] ERROR hbm2ddl.SchemaExport - HHH000389: Unsuccessful: alter table person_authority drop constraint FK_kdi2d7ujicv663k0h6mv85jx3 if exists
Error |
2014-08-11 18:02:51,981 [localhost-startStop-1] ERROR hbm2ddl.SchemaExport - Tabla "PERSON_AUTHORITY" no encontrada
Table "PERSON_AUTHORITY" not found; SQL statement:
alter table person_authority drop constraint FK_kdi2d7ujicv663k0h6mv85jx3 if exists [42102-176]
|Server running. Browse to http://localhost:8080/ejem
当我检查url时,一切正常,但是注销控制器显示错误405页。当我检查/ dbconsole时,所有表似乎都是正确的,如果我在Bootstrap.groovy文件中设置了一些用户......这是某种错误吗?
问候。
答案 0 :(得分:1)
这实际上是Hibernate中的一个错误,请参阅 https://jira.grails.org/browse/GRAILS-11198和 https://hibernate.atlassian.net/browse/HHH-7002。可以安全地忽略错误,因此您可以抑制输出。
在Config.groovy
中,将以下行添加到log4j闭包中:
fatal 'org.hibernate.tool.hbm2ddl.SchemaExport'
这不会真正解决任何问题,但同样,由于输出是由于错误导致的,因此您现在可以安全地忽略错误。
如果您愿意,也可以fix the bug locally。
答案 1 :(得分:1)
我和你一样有同样的问题,连续3天(我是grails的新手,而且解决这类问题非常复杂)。 我读到它在Hibernate中存在问题。 遵循以下任何说明都可以轻松解决:
Config.groovy
致命' org.hibernate.tool.hbm2ddl.SchemaExport'
DataSource.groovy
中,将开发环境更改为dbCreate ="更新"
使用第二个选项是因为Grails运行自己的虚拟数据库,它指的是在未创建内容时首先更新内容
PS:很抱歉,如果有人无法理解我的答案,但是很难用英语解释一些这样的话题,因为它不是我的母语,但我尽我所能:P