2015-11-05 33 views
0

我需要定制/ LogoutController一点点,所以我在我的grails-app复制所述控制器从所述插件相同的包的位置的弹簧的安全控制器的Intellij类“”已存在

控制器被用来代替原始的一个,因为插件首先编译 - >原件将被重写。

现在我的问题是,12.1.7的IntelliJ抱怨类“LogoutController”已经存在于包“grails.plugin.security” ... ofcourse :(但那是没有错误!

我找不到什么隐藏错误在验证设置

enter image description here

+0

但您为什么要使用原包装?而不是应用程序包 –

+0

我必须使用此包,因为我想覆盖该控制器 – Pascal

回答

2

Grails的控制器不带包进去:只有1 LoginContoller将不管包的使用:(默认URL映射为/ $控制器/ $行动?/ $ id?没有包裹的地方) 同样的情况域类。

要重写应用程序中ANY插件的LoginController,只需在应用程序中定义一个LoginController,无论该程序包如何。

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