我正在从2.1.0版升级我的Grails应用程序。在此升级之前,应用程序表现良好。我下载并设置了Grails的新版本(最初我尝试了2.2.1版本,但今天尝试了2.2.2版本),并在我的应用程序上进行了Grails升级。
因为升级我的应用程序不会启动,引用一个DuplicateMappingException。
DuplicateMappingException: duplicate import: User refers to both com.mycompany.myapp.User and net.security.User (try using auto-import="false")或
DuplicateMappingException: duplicate import: Role refers to both net.security.Role and com.mycompany.myapp.Role (try using auto-import="false")因此,在我看来,GORM出于某种原因认为需要将这些net.security 类映射到数据库中。
Role和User是我与Grails的Shiro安全插件一起使用的域类。
我尝试将autoImport false添加到域类中的映射块中。这在使用User或Role的系统的其他部分造成了问题。我没有进一步探讨这个问题,因为我确信这里不应该有冲突。
所以我想看看是否有人知道是什么导致了这件事,或者是一些我可能会试图解决的问题。
我已经在这个项目上尝试了一次“圣杯清洗”。
谢谢
发布于 2013-05-26 02:22:00
好的,问题是net.security类不是我所想的一些随机类。net.security是Shiro OpenID插件类的默认包。因此,在项目的早期,我们使用自己的包添加了User和Role类,而不是使用Shiro OpenID插件附带的类。此时,我们必须已经从grails-app目录和src/groovy/net/security目录中删除了相应的类。当我升级到Grails2.2.2时,插件重新创建了这些文件,它们与我们项目中的文件冲突。
现在,我已经手动删除了这些类文件,但是也许有一种方法可以在BuildConfig.groovy中自动删除它们?不过,这是另一天的问题。
https://stackoverflow.com/questions/16633417
复制相似问题