Griffon编译错误:无法覆盖firePropertyChange?

时间:2011-12-12 10:32:20

标签: compilation upgrade griffon

将我的0.3.1 Griffon应用程序升级到0.9.4后发现以下编译错误:

 [griffonc] Threading injection feature disabled.

 [griffonc] org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:

 [griffonc] ..\sgmentia-client\griffon\app\models\com\nortia\sgmentia\client\maestros\MaestrosModel.groovy: -1: firePropertyChange(java.lang.String,java.lang.Object,java.lang.Object) in com.nortia.sgmentia.client.maestros.MaestrosModel cannot override firePropertyChange in com.nortia.sgmentia.client.maestros.MaestrosModelSupport; attempting to assign weaker access privileges; was public
 [griffonc]  @ line -1, column -1.
 [griffonc] 1 error
 Compilation error: Compilation Failed

我的代码中有 firePropertyChange 没有提及,所以我不知道该如何继续。

所引用的类如下所示:

abstract class MaestrosModelSupport
...
class MaestrosModel extends MaestrosModelSupport

想法?


更新

我遵循命名约定(每个Model必须以XXXModel结束),现在项目编译。

然而,经过一些重构后,还有一些新的东西:

 [copy] Copying 1 file to C:\maestro\desarrollo\projects\interactionManager\sgmentia-client\staging
 ERROR [main]: [1] ApplicationDefaultExceptionHandler Se ha producido un error inesperado en la aplicaci¾n: Interfaces must have java.lang.Object as superclass in class file com/nortia/sgmentia/client/DocumentController

 java.lang.ClassFormatError: Interfaces must have java.lang.Object as superclass in class file com/nortia/sgmentia/client/DocumentController
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)

那么现在呢?

1 个答案:

答案 0 :(得分:1)

这似乎是https://jira.codehaus.org/browse/GRIFFON-440的另一个例子 我想知道您是如何设置代码库的,例如,为什么模型放在sgmentia-client\griffon\app\models而不是sgmentia-client\griffon-app\models

您可以将抽象模型类作为所有模型的基类,只要遵循约定,就应该从get get中获得支持

abstract class AbstractSupportModel { ... }
class MaestrosModel extends AbstractSupportModel { ... }

AbstractSupportModelMaestrosModel都放在sgmentia-client\griffon-app\models