2009-06-18 4 views
14

Je travaille sur Eclipse avec un code Java Google App Engine. Chaque fois que j'enregistre un fichier java, DataNucleus Enchancer démarre "Amélioration des classes". C'est assez irritant car il enlève la concentration lorsque vous êtes en mode plein écran. Quelqu'un sait comment je peux l'éteindre?Comment désactiver DataNucleus Enhancer lorsque vous travaillez avec Google App Engine

Si je le désactive, cela affectera-t-il ma capacité à déployer mon application dans App Engine à partir d'Eclipse? L'Enhancer est configuré en tant que Builder dans les propriétés de votre projet.

Répondre

30

Vous pouvez restreindre les classes que DataNucleus surveille pour les modifications afin qu'il ne réexécute l'amélioration que lorsque vos classes de modèle changement.

Accédez aux propriétés du projet, puis sélectionnez Google-> App Engine-> Orm. Là, vous pouvez spécifier des modèles pour les fichiers à regarder. Par exemple, j'ai mis tous mes beans de modèle dans un sous-répertoire model /, donc un modèle de src/**/model fonctionne pour moi. Il y a aussi des exemples de motifs dans le dialogue "Ajouter".

+0

C'est fantastique. Cela me permet de l'empêcher de m'affecter quand je change de classe non-Bean et quand je les change, l'enhancer fonctionne. C'est mieux que de les fermer complètement. Merci Kris pour ça. – Shreeni

+0

La documentation pour le même est à http://code.google.com/eclipse/docs/appengine_orm.html (juste remarqué) – Shreeni

+0

Il y a aussi une case à cocher directement dans Google-> App Engine dans la section Datastore:, _Use Datanucleus JDO/JPA pour accéder au datastore_ qui semble complètement désactiver l'exécution automatique. – conny

3

Je suppose que vous pouvez le désactiver en toute sécurité pendant que vous modifiez, puis lorsque vous souhaitez l'exécuter, vous devez réactiver et générer de nouveau pour vous assurer que les modifications apportées aux classes persistantes sont correctement reflétées avant d'exécuter ou de tester votre application localement. Ensuite, vous pouvez télécharger sur le moteur de l'application.

+0

Merci, cela a fonctionné parfaitement bien. – Shreeni

+0

Heureux que cela a fonctionné. C'est une honte d'avoir à tourner ce constructeur tout le temps. Ce serait bien si c'était assez intelligent de simplement se connecter à la console et de se concentrer là où c'est comme la plupart des autres choses. – digitaljoel

+0

D'accord. Ce que vous avez suggéré pourrait être bon pour DataNucleus. En outre, il pourrait potentiellement commencer à améliorer seulement lorsque la classe est étiquetée comme persistante (je suppose qu'il n'a rien à voir avec les classes non persistantes) - ce qui la rend plus optimale. – Shreeni

3

Cela ne résoudra pas le problème de mise au point, mais il permettra de réduire la fréquence l'amplificateur fonctionne:

Vous pouvez configurer l'amplificateur pour que renforcer certains fichiers. Vous pouvez spécifier un modèle basé sur des packages ou un nom de classe. Pour spécifier le motif, cliquez sur le menu du projet, puis sur propriétés, puis google, puis sur le moteur de l'application, puis sur ORM. Si vous nommez vos classes persistantes avec un suffixe commun, vous pouvez spécifier un modèle comme "* Entity.java"

+0

Bon à savoir, merci. – digitaljoel

+0

La dernière version du plugin est supposée avoir résolu le problème de focus. – digitaljoel

Questions connexes