2010-12-03 1 views
0

Hey alle, Ich beginne gerade mit Grails in Netbeans (6.9.1). Ich habe ein Demo-Programm, aber jedes Mal, wenn ich eine groovige Datei ändere, muss ich das Projekt erstellen und dann run auswählen (dh das Äquivalent von "grails build" und "grails run-app"). Wenn bereits eine Instanz ausgeführt wird, muss diese Instanz zuerst geschlossen werden.Grails & Netbeans: Änderungen vornehmen ohne Run-App neu starten

Das scheint falsch. Es scheint, als ob ich in der Lage wäre, einfach die groovige Datei zu ändern, und sie würde automatisch neu geladen werden. Ist das nicht der Sinn von Groovy?

Soll das eigentlich in Netbeans funktionieren? Ohne in einen IDE-Krieg zu geraten, machen andere IDEs es besser? Alle scheinen über die Grails-Unterstützung in IntelliJ zu schwärmen. Ist es das wert?

Ein letzter Punkt ... Ich habe bemerkt, dass ein reguläres Kriegsmaven-Projekt nicht mehr automatisch auf einen F11 Build nachlädt. Könnte das zusammenhängen?

Dank

--Matthias

+0

Ich immer nur die App über die Befehlszeile ausführen, und nehmen Sie Änderungen in meiner IDE. – hvgotcodes

+0

Ok ... zumindest eine Bestätigung, dass meine Erwartung nicht unangemessen ist. Lass mich versuchen, Netbeans neu zu installieren oder mit dem .netbeans-Ordner zu hacken, um zu sehen, ob es etwas funky ist. Vielen Dank. – mlathe

Antwort

2

Sie Nachladen für alle Ihre Dateien selbst, indem Sie Ihre Grails App über Kommandozeile haben nicht erwartet.

Je nachdem, welche Groovedatei Sie geändert haben, funktioniert das automatische Laden der Grails-Laufzeit automatisch oder nicht. Tatsächlich:

  • Dateien und Ordner, die Unterstützung im Entwicklungsmodus Nachladen: gsp Dateien (in Ansicht Ordner), Grails services (in Servicemappe), controllers, taglibs, css, i18resources, javascript Dateien, einige config Dateien (wie Config.groovy), url mappings. Beachten Sie, dass es einige Fehler Grails, wenn zum Beispiel macht mit Federtransaktions Annotation in Dienstleistungen das Nachladen

    abgestürzt
  • Dateien und Ordner unterstützt NICHT Nachladen (und erfordern einen Neustart der Anwendung): beliebigen Code unter src/groovy, src/java , Domain classes (unter Domain-Verzeichnis), einige Konfigurationsdateien, Änderungen in Plugins, jeder Code unter utils Ordner (wenn Sie irgendeine Codec zum Beispiel haben)

So In Ihrem Fall, wenn Sie eine Controller-Groovy-Datei ändern und NetBeans die Anwendung neu startet, empfehle ich Ihnen, eine separate Befehlszeile für die Ausführung der Anwendung "Grails" zu verwenden und die IDE für Codeänderungen zu verwenden. Die einzige schlechte Seite ist, dass Sie den NetBeans Debugger nicht verwenden werden. Eigentlich ist das die Art, wie ich mit Grails und IntelliJ arbeite

+0

Wow ... gute Antwort. Mit "separate Kommandozeile" meinen Sie Run Grails von einer Eingabeaufforderung, also Cygwin oder so. Haben Sie eine Referenz für diese Info? Dies scheint zu sagen, dass Sie Domain-Klassen neu laden können: http://www.grails.org/Auto+Reloading. Trotzdem danke. – mlathe

+0

Ja, ich meine das. Bei Windows funktioniert es sogar mit der DOS-Eingabeaufforderung. Keine Notwendigkeit von Cygwin. – fabien7474