2009-06-18 26 views
14

Estoy trabajando en Eclipse con un código de Google App Engine Engine de Java. Cada vez que guardo un archivo java, DataNucleus Enchancer comienza "Mejora de clases". Es bastante irritante ya que quita el enfoque cuando estás en modo de pantalla completa. ¿Alguien sabe cómo puedo apagarlo?Cómo desactivar DataNucleus Enhancer mientras trabaja con Google App Engine

Si lo desactivo, ¿afectará mi capacidad para implementar mi aplicación en App Engine desde Eclipse?

Respuesta

30

Puede restringir las clases que DataNucleus busca para los cambios, de modo que solo vuelva a ejecutar la mejora cuando sus clases de modelo realmente cambio.

Ve a las propiedades del proyecto y selecciona Google-> App Engine-> Orm. Allí puede especificar patrones para los archivos a mirar.

Por ejemplo, puse todos mis modelos de frijoles en un modelo/subdirectorio, por lo que un patrón de src/**/model me funciona. También hay patrones de ejemplo en el diálogo 'Agregar'.

+0

Esto es fantástico. Esto me permite evitar que me afecte cuando cambio las clases que no son de Bean y cuando las cambio, se ejecutará el enhancer. Esto es mejor que cerrarlos por completo. Gracias Kris por esto. – Shreeni

+0

La documentación para el mismo está en http://code.google.com/eclipse/docs/appengine_orm.html (apenas lo he notado) – Shreeni

+0

También hay una casilla de verificación directamente en Google-> App Engine en la sección Datastore :, _Use Datanucleus JDO/JPA para acceder al almacén de datos_ que parece deshabilitar la ejecución automática por completo. – conny

3

El Enhancer está configurado como un generador en las propiedades de su proyecto. Sospecho que podría desactivarlo de manera segura mientras edita, y luego, cuando quiera ejecutarlo, deberá volver a habilitarlo y compilarlo nuevamente para asegurarse de que los cambios que realice en las clases persistentes se reflejen correctamente antes de intentar ejecutar o probar. su aplicación localmente Luego, puedes subir al motor de la aplicación.

+0

Gracias, funcionó perfectamente bien. – Shreeni

+0

Me alegro de que funcionó. Es una pena tener que mezclar ese constructor todo el tiempo. Sería bueno si fuera lo suficientemente inteligente como para iniciar sesión en la consola y dejar el foco donde es como la mayoría de las cosas. – digitaljoel

+0

De acuerdo. Lo que sugeriste podría ser bueno para DataNucleus. Además, podría comenzar a mejorar solo cuando la clase se etiquete como persistente (supongo que no tiene nada que ver con las clases no persistentes), lo que lo hace más óptimo. – Shreeni

3

Esto no va a resolver el problema de enfoque, pero reducirá la frecuencia de las carreras de potenciador:

puede configurar el reforzador sólo a mejorar ciertos archivos. Puede especificar un patrón basado en paquetes o nombre de clase. Para especificar el patrón, haga clic en el menú del proyecto, luego en Propiedades, luego en Google, luego en el motor de la aplicación y luego en ORM. Si nombra sus clases persistentes con un sufijo común, puede especificar un patrón como "* Entity.java"

+0

Es bueno saberlo, gracias. – digitaljoel

+0

Se supone que la última versión del complemento resolvió el problema de foco. – digitaljoel