我需要稍微自定义Spring安全性LogoutController,所以我将控制器从插件复制到我的grails-app / controllers中的相同包位置
使用控制器而不是原始控制器,因为首先编译插件 - >原件将被覆盖。
现在我的问题是intellij 12.1.7抱怨Class' LogoutController'已经存在于包' grails.plugin.security' ...当然:(但那没有错误!
我在验证设置中找不到任何隐藏该错误的内容。
答案 0 :(得分:3)
Grails控制器不考虑包:只使用一个LoginContoller而不管包:(默认的url映射是/ $ controller / $ action?/ $ id?没有包的地方)。 Domain类也是如此。
要从应用程序中的任何插件覆盖LoginController,您只需在应用程序中定义LoginController,无论包装。
但是,如果您在插件的完全相同的包中定义它,则会产生需要通过类加载器优先级解决的冲突。这应该是相同的(应用程序优先),但我不认为这是理所当然的。因此,IntelliJ显示错误。