0

我正在将一个大的 0.3.1 Griffon 应用程序升级到 0.9.4 我遇到了这些困难:

  1. 控制器:我已禁用 UI 线程注入以避免编译 BUG 问题(请参阅编译错误:BUG!Griffon 项目升级后的异常)这就是我避免该编译错误的方法,但随后出现了其他一些错误:

    [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 

这是真正的问题吗?有任何想法吗?

提前致谢。伊万。

4

1 回答 1

0

我已经复制了相同的设置,但可以让应用程序正常工作,至少如果所有控制器都在griffon-app/controllers. 但是,如果将基本控制器放在另一个目录中,例如src/main,那么您将收到此错误。

这是 Griffon 中的一个错误,应该修复。您愿意在http://jira.codehaus.org/browse/griffon上发布一张 JIRA 票吗?

于 2011-12-10T19:18:00.290 回答