2016-06-23 6 views
1

Ich habe einen Groovy-Service ReportService.groovy innerhalb grails-app/services.Dienste Dateien werden nicht automatisch in Grails neu geladen 3.1.6

Wenn ich einige Änderungen in der Datei vornehmen, Konsolenausgabe ist:

Datei /home/username/project/grails-app/services/com/company/ReportService.groovy geändert, neu zu kompilieren ...
Spring Loaded: Neue Version von com.company.ReportService kann nicht geladen werden
Grund: Schnittstellen geändert von [groovy/lang/GroovyObject, Grails/Artefact/Service, Grails/Ereignisse/Events $ Trait $ FieldHelper] zu [Grails/Artefact/Service, grails/plugins/mail/SendMail, grails/plugins/mail/SendMail $ Eigenschaft $ FieldHelper, grails/events/Events $ Eigenschaft $ FieldHelper, groovy/lang/GroovyObject]

Daher sind die Änderungen nicht sofort sichtbar. Und ich muss die Anwendung immer wieder neu starten, um die Änderungen anzuzeigen.

Wie kann ich den Nachladeeffekt sofort in der Anwendung für Serviceklassen anzeigen?

Ein ähnlicher Fall wurde als Problem gemeldet, aber nur für Java-Klassen. (https://github.com/grails/grails-core/issues/9047)

+0

Hi @sgiri, haben Sie dieses Problem bei jeder Änderung, oder nur wenn Sie etwas bestimmtes ändern? Z.B. Wenn Sie eine Variablenzuweisung ändern, haben Sie dies? – lifeisfoo

+0

@lifeisfoo Problem ist in jeder Bearbeitung. Wenn ich einen Service bearbeite, der 'WebAttributes' aus dem Paket' grails.web.api' implementiert, bekomme ich diese Meldung 'Ursache: Interfaces geändert von [grails/web/api/WebAttributes, groovy/lang/GroovyObject, grails/web/api/WebAttributes $ Eigenschaft $ FieldHelper, grails/artefact/Dienst, grails/events/Ereignisse $ Eigenschaft $ FieldHelper] bis [grails/web/api/WebAttribute, grails/web/api/WebAttribute $ Eigenschaft $ FieldHelper, grails/artefact/Service , Grails/plugins/mail/SendMail, grails/plugins/mail/SendMail $ Eigenschaft $ FieldHelper, grails/events/Events $ Eigenschaft $ FieldHelper, groovy/lang/GroovyObject] ' – sgiri

+0

Tritt dies nur mit dem Service auf, der' WebAttributes implementiert '? Oder haben Sie das gleiche Problem mit Ihren anderen normalen Diensten (die nichts "implementieren")? – Ian

Antwort

1

Dies war ein bekannter Bug um die Grils 3.1.5 - 3.1.7. Es wurde seit Grils 3.1.8 behoben. Um das automatische Neuladen zu ermöglichen, müssen Sie die Entwicklungsumgebung über den Befehl raps-app von Grails verwenden.

+0

Wären Sie in der Lage, JIRA-Tickets für das Grails-Framework bereitzustellen, die das zeigen? (Nicht dass ich dir nicht vertraue, nur damit wir die Details sehen können) – Ian