我正在将一个0.3.1 Griffon应用程序升级到0.9.4我遇到了这些困难:
Controlllers: 我已禁用UI线程注入以避免编译BUG问题(请参阅Compilation error: BUG! exception after Griffon project upgrade) 这就是我如何避免编译错误,但随后出现了其他一些错误:
[griffonc]
[griffonc] C:\maestro\desarrollo\projects\interactionManager\sgmentia-client\griffon-app\controllers\com\nortia\sgmentia\client\select\SelectController.groovy: 53: Repetitive method name/signature for method 'void mvcGroupInit(java.util.Map)' in class 'com.nortia.sgmentia.client.select.SelectController'.
[griffonc] @ line 53, column 2.
[griffonc] void mvcGroupInit(Map args) {
[griffonc] ^
[griffonc]
[griffonc] C:\maestro\desarrollo\projects\interactionManager\sgmentia-client\griffon-app\controllers\com\nortia\sgmentia\client\select\SelectController.groovy: -1: Repetitive method name/signature for method 'void mvcGroupInit(java.util.Map)' in class 'com.nortia.sgmentia.client.select.SelectController'.
[griffonc] @ line -1, column -1.
好像你不允许在子控制器中覆盖这个方法。例如:
class MyCommonController{
...
}
class MyChildController extends MyCommonController{
...
void mvcGroupInit(java.util.Map){}
}
我在执行以下重构的其他控制器中解决了这个错误:
class MyCommonController{
...
void mvcGroupInit(java.util.Map args){
initMyCommon(map)
}
abstract void initMyCommon(map)
}
class MyChildController extends MyCommonController{
...
void initMyCommon(map){
//My real init code goes here
}
}
但是这个控制器重构起来比较复杂:
class SelectController extends WindowAdapter implements DocumentController
这是真正的问题吗?有什么想法吗?
提前致谢。 伊凡。
答案 0 :(得分:0)
我已经复制了相同的设置,但可以使应用程序正常工作,至少如果在griffon-app/controllers
内找到所有控制器。但是,如果基本控制器放在另一个目录中,例如src/main
,那么您将收到此错误。
这是Griffon中应该修复的错误。您是否愿意在http://jira.codehaus.org/browse/griffon张贴JIRA票?