2009-06-18 6 views
14

Ich arbeite in Eclipse an einem Google AppEngine Java-Code. Jedes Mal, wenn ich eine Java-Datei speichere, beginnt der DataNucleus Enchancer mit der "Erweiterung von Klassen". Es ist ziemlich irritierend, da es im Vollbildmodus den Fokus wegnimmt. Weiß jemand, wie ich es ausschalten kann?So deaktivieren Sie DataNucleus Enhancer während der Arbeit mit Google App Engine

Wenn ich es abstelle, beeinflusst dies meine Fähigkeit, meine Anwendung in Eclipse in App Engine zu implementieren?

Antwort

30

Sie können einschränken, welche Klassen DataNucleus auf Änderungen überwacht, sodass die Erweiterung nur dann erneut ausgeführt wird, wenn Ihre Modellklassen tatsächlich ausgeführt werden Veränderung.

Gehen Sie zu den Projekteigenschaften und wählen Sie Google-> App Engine-> Orm. Dort können Sie Muster für die zu betrachtenden Dateien festlegen.

Zum Beispiel habe ich meine ganzes Modell Bohnen in einem Modell/Unterverzeichnis, so dass ein Muster von src/**/Modell funktioniert für mich. Es gibt auch Beispielmuster im Dialog 'Hinzufügen'.

+0

Das ist fantastisch. Dadurch kann ich verhindern, dass es mich beeinflusst, wenn ich Nicht-Bean-Klassen ändere, und wenn ich sie ändere, würde der Enhancer laufen. Das ist besser, als sie komplett abzuschalten. Danke Kris dafür. – Shreeni

+0

Die Dokumentation für das gleiche ist unter http://code.google.com/eclipse/docs/appengine_orm.html (gerade bemerkt) – Shreeni

+0

Es gibt auch ein Kontrollkästchen direkt in Google-> App Engine im Abschnitt Datastore :, _Use Datanucleus JDO/JPA für den Zugriff auf den Datenspeicher_, der die automatische Ausführung scheinbar deaktiviert. – conny

3

Der Enhancer wird als Builder in Ihren Projekteigenschaften eingerichtet. Ich vermute, dass Sie es während der Bearbeitung gefahrlos deaktivieren können. Wenn Sie es dann ausführen möchten, müssen Sie es erneut aktivieren und erneut erstellen, um sicherzustellen, dass alle Änderungen an persistenten Klassen korrekt wiedergegeben werden, bevor Sie versuchen oder ausführen Ihre Anwendung lokal. Dann könnten Sie in die App-Engine hochladen.

+0

Danke, das hat perfekt funktioniert. – Shreeni

+0

Froh, es hat funktioniert. Es ist eine Schande, den Baumeister die ganze Zeit herumzupfeifen. Es wäre schön, wenn es schlau genug wäre, sich einfach an der Konsole anzumelden und den Fokus dort zu lassen, wo es den meisten anderen Sachen entspricht. – digitaljoel

+0

Einverstanden. Was Sie vorgeschlagen haben, könnte für DataNucleus gut sein. Außerdem könnte es möglicherweise nur dann zu einer Verbesserung führen, wenn die Klasse als persistent markiert ist (ich gehe davon aus, dass es nichts mit nicht persistenten Klassen zu tun hat), wodurch es optimaler wird. – Shreeni

3

Dies wird den Fokus Problem nicht lösen, aber es wird reduzieren, wie oft der Verstärker läuft:

Sie den Verstärker so konfigurieren, dass nur bestimmte Dateien zu verbessern. Sie können ein Muster anhand von Paketen oder Klassennamen angeben. Um das Muster anzugeben, klicken Sie auf das Projektmenü, dann auf Eigenschaften, dann auf Google, dann auf App Engine und dann auf ORM. Wenn Sie Ihre persistenten Klassen mit einem gemeinsamen Suffix benennen, können Sie ein Muster wie "* Entity.java" angeben

+0

Gut zu wissen, danke. – digitaljoel

+0

Die neueste Version des Plugins soll das Fokusproblem gelöst haben. – digitaljoel