Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Eclipse Google -App -Engine "Will NOT Enhance"

First Eclipse:

Cannot get rid of this error... Have tried every suggested fix on google..

Persistent class "Class com.blahb.blahblah.master.UserToken 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.

List of 500 lines of exceptions...
*Caused by:
javax.jdo.JDOUserException: Persistent class "Class com.blahb.blahblah.master.UserToken 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:230)
    at com.gulfnet.gulfstar.master.Master.getUserToken(Master.java:645)
    at org.apache.jsp.top_jsp._jspService(top_jsp.java:68)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
    at com.google.appengine.tools.development.PrivilegedJspServlet.access$101(PrivilegedJspServlet*

My co-worker has this same project on her windows PC and it runs fine...

I've tried three different PC's linux, mac, windows, 3 different eclipse versions, 20 different ways of importing, creating new project, ect....

Yes, the .classpath was corrected to reflect the correct location of all jar files. I've tried adding every-single class, java, jar as suggested on one of the google blogs to the class/buildpath (window -> pref -> google -> orm) nothing...

And where is this damn "Enhancer Console" that is suppose to be in Eclipse...? I am running the latest Eclipse, with ALL the Google-app-engine plugins..

Any ideas...? Anyone..?

Thank You!

like image 481
chinasailor Avatar asked Oct 14 '10 09:10

chinasailor


1 Answers

The problem is that the Enhancer for DataNucleus gets removed from the list of Builders for the project. For me all the Project Clean, rebuilt, etc. did not help. What you need to do is to (1) Create new sample GAE project, open the ".project" file of that project in plain text editor, copy this text from there:

<buildCommand>
    <name>com.google.appengine.eclipse.core.enhancerbuilder</name>
    <arguments></arguments>
</buildCommand>

Now copy this to the bottom of the list of builders in your own .project file. Now DataNucleus should work fine. I have no idea why it sometimes deappears.

like image 145
Roman Kharkovski Avatar answered Oct 05 '22 16:10

Roman Kharkovski