【问题标题】:Compilation error: BUG! exception after Griffon project upgrade编译错误:BUG! Griffon 项目升级后的异常
【发布时间】:2012-01-08 20:03:37
【问题描述】:

在过去的几个月里,我一直在使用 Griffon 0.3.1 环境的富客户端工作。

那个版本已经老了,现在我需要将项目升级到 0.9.3。

做完之后:

griffon upgrade

在获取所需插件的最新版本时,我遇到了以下错误:

Compilation error: BUG! exception in phase 'canonicalization' in source unit 'C:\maestro\desarrollo\projects\interactionManager\sgmentia-client\griffon-app\controllers\com\nortia\sgmentia\client\campaign\CampaignController.groovy' ClassNode#getTypeClass for com.nortia.sgmentia.business.Seleccion is called before the type class is set

在尝试了几件事后升级之前没有编译错误我没有头绪。

提前致谢。

伊万。

【问题讨论】:

    标签: upgrade griffon


    【解决方案1】:

    尝试升级到 0.9.4。由于 AST 注入行为的引入,在以前的版本中存在一些极端情况。另外,不要忘记在升级后立即调用 clean 命令。

    【讨论】:

    • 我升级到 0.9.4 + clean 但它不起作用! :(。请提供更多想法?
    • 能否请您跨帖到 Griffon 用户列表?我相信这个问题可能是由控制器中的一个公共方法引起的,它看起来像一个动作,但事实并非如此。
    • 好的。非常感谢。尝试订阅以关注对话。同时有什么建议可以避免公共方法与行动的问题?
    • 您可以禁用线程注入(参见 Griffon 指南的第 4.7.5 节)或确保控制器中的所有公共方法都遵循用于操作的规则(第 8.1 节)。
    • 再次感谢您。似乎禁用线程注入正在起作用,但迁移本身仍在进行中。顺便说一句,[邮件列表] (xircles.codehaus.org/manage_email) 还没有工作。
    【解决方案2】:

    经过一番研究,我写下自己的结论,以帮助遇到同样问题的人。

    • Griffon 0.3.x 和 Griffon 0.9.x 之间有了很大的飞跃,一些 API 发生了巨大变化,并引入了 AST 注入。
    • 必须阅读以下链接以了解发生了什么:

    http://griffon.codehaus.org/Griffon+0.9.2-rc1?print=1

    http://dist.codehaus.org/griffon/guide/guide/9.%20Threading.html#9.3%20Annotation%20Based%20Threading

    • 如果直接升级对您不起作用,请先尝试禁用线程注入:

    griffon.disable.threading.injection=true

    • 最后,在编译好代码后,您可以尝试逐步清理控制器。

    希望对你有帮助。

    【讨论】:

      猜你喜欢
      • 2021-06-03
      • 2014-08-10
      • 2022-08-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-14
      • 2013-04-15
      • 1970-01-01
      相关资源
      最近更新 更多