Intellij Class''已经存在

时间:2015-11-05 10:25:07

标签: grails intellij-idea spring-security

我需要稍微自定义Spring安全性LogoutController,所以我将控制器从插件复制到我的grails-app / controllers中的相同包位置

使用控制器而不是原始控制器,因为首先编译插件 - >原件将被覆盖。

现在我的问题是intellij 12.1.7抱怨Class' LogoutController'已经存在于包' grails.plugin.security' ...当然:(但那没有错误!

我在验证设置中找不到任何隐藏该错误的内容。

enter image description here

1 个答案:

答案 0 :(得分:3)

Grails控制器不考虑包:只使用一个LoginContoller而不管包:(默认的url映射是/ $ controller / $ action?/ $ id?没有包的地方)。 Domain类也是如此。

要从应用程序中的任何插件覆盖LoginController,您只需在应用程序中定义LoginController,无论包装。

但是,如果您在插件的完全相同的包中定义它,则会产生需要通过类加载器优先级解决的冲突。这应该是相同的(应用程序优先),但我不认为这是理所当然的。因此,IntelliJ显示错误。