Ошибка компиляции Griffon: невозможно переопределить firePropertyChange? - PullRequest
0 голосов
/ 12 декабря 2011

При обновлении моего приложения 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)

И что теперь?

1 Ответ

1 голос
/ 12 декабря 2011

Это, кажется, еще один экземпляр https://jira.codehaus.org/browse/GRIFFON-440 Интересно, как вы настраиваете свою кодовую базу, например, почему модели помещаются в sgmentia-client\griffon\app\models вместо sgmentia-client\griffon-app\models.

У вас могут быть абстрактные классы моделей в качестве базовых классов для всех моделей, которые должны поддерживаться с самого начала, при условии соблюдения соглашений

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

И AbstractSupportModel, и MaestrosModel помещены в sgmentia-client\griffon-app\models.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...