Google App Engine DataNucleus “does not seem to have been enhanced” Issue

阅读更多

I got DataNucleus exception while developing a Google App Engine based Web Application for one of my office clients. Here is the error message.

"Class com.xxxxx.xxxxx.domain.XXXXXUser does not seem to have been enhanced. You may want to rerun the enhancer and check for errors in the output."has no table in the database, but the operation requires it. Please check the specification of the MetaData for this class. at org.datanucleus.jdo.NucleusJDOHelper.getJDOExceptionForNucleusException(NucleusJDOHelper.java:375) at org.datanucleus.jdo.JDOQuery.execute(JDOQuery.java:252)
 
 
NestedThrowablesStackTrace:

Persistent class "Class com.xxxxx.xxxxx.domain.XXXXXUser does not seem to have been enhanced. You may want to rerun the enhancer and check for errors in the output." has no table in the database, but the operation requires it.Please check the specification of the MetaData for this class. org.datanucleus.store.exceptions.NoTableManagedException: Persistent class "Class com.xxxxx.xxxxx.domain.XXXXXUser does not seem to have been enhanced.You may want to rerun the enhancer and check for errors in the output."has no table in the database, but the operation requires it. Please check the specification of the MetaData for this class.
   
 
Every time when i am getting the latest version form version control, GAE shows the error. As a solution I had to cut and paste all persistent classes. There were about 30 persistent(Domain) classes.
Finally I found the solution for this issue. There is a special configuration in GAE eclipse plug-in which need to be done, to run the datanucleus enhancer.

Go to:
Project Settings -> Google -> App Engine -> ORM

Then remove default value( src/) and configure the source path to persistent file or folder like this:


你可能感兴趣的:(Java,Eclipse,Google)