0

将我的 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

想法??


更新

我遵循了命名约定(每个模型都必须以 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)

所以现在怎么办?

4

1 回答 1

1

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

您可以将抽象模型类作为所有模型的基类,只要您遵循约定,就应该从一开始就支持它

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

AbstractSupportModel和都MaestrosModel放在sgmentia-client\griffon-app\models.

于 2011-12-12T10:53:43.653 回答