2010-10-14 2 views
7

Первого Eclipse:Eclipse, Google -App-движок "не повышает"

Не может избавиться от этой ошибки ... Пытались все предлагаемое исправление на гугле ..

Persistent класса «Класс ком .blahb.blahblah.master.UserToken, похоже, не был расширен. Возможно, вы захотите повторно запустить энхансер и проверить ошибки на выходе. " не имеет таблицы в базе данных, но для этого требуется операция. Проверьте спецификацию MetaData для этого класса.

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* 

Мой сотрудник имеет такой же проект на своем ПК с Windows и работает отлично ...

Я пробовал три разных Linux, Mac, Windows, 3 различные версии затмение компьютера, 20 различные способы импорта, создание нового проекта, ect ....

Да, путь .classpath был исправлен, чтобы отобразить правильное расположение всех файлов jar. Я попытался добавить каждый класс, java, jar, как было предложено в одном из блогов google, в class/buildpath (window -> pref -> google -> orm) ничего ...

И где эта проклятая «Консоль Enhancer», которая должна быть в Eclipse ...? Я запускаю последнее Eclipse со всеми плагинами Google-приложений.

Любые идеи ...? Кто угодно..?

Спасибо!

ответ

1

Мы отредактировали [Проект> Свойства> Google> App Engine> ORM] страница для удаления SRC/ и только усиливают подмножество наших классов (SRC/ком/VO/ .java *, Src ?/COM/назад/ и Рез/), как объяснено в: datanucleus enhancer & javaw: "the parameter is incorrect"

Мы также копировали Google | App Engine на более короткий путь, как описано ниже работал для нас: http://code.google.com/p/google-web-toolkit/issues/detail?id=4395#c15

0

Я имел T он же ошибка и в моем случае решение было просто сделать класс не постоянны, комментируя эту строку:

@PersistenceCapable(identityType = IdentityType.APPLICATION) 

Затем запустить мое приложение и получить ошибку о настойчивости, остановить его, раскомментируйте предыдущую строку и запустить приложение снова.

0

Эта проблема была решена для меня путем добавления первичного ключа, например, так:

@PrimaryKey @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY) private Long id;

1

правой кнопкой мыши на проекте, а затем Свойства> Builders. Есть ли такой вопрос, как «Missing Builder (org.datanucleus.ide.eclipse.enhancerbuilder)»?

При создании нового веб-приложения проекта, убедившись, что «Использовать Google Web Toolkit» и «Использовать Google App Engine» проверяются, а затем снова смотрите в недвижимость> Строители, это то сказать «Enhancer» там вместо «пропавшего строителя»?

Если да, то решение наверняка должно создать новый проект с нуля, а затем вручную передать содержимое из старого проекта в новый. Простое импортирование старого проекта в другой Eclipse не работает, энхансер все равно не будет там.

3

Проблема заключается в том, что Enhancer for DataNucleus удаляется из списка Builders для проекта. Для меня весь проект Clean, rebuilt и т. Д. Не помог. Что вам нужно сделать, это (1) Создать новый образец проекта GAE, откройте файл «.project» этого проекта в текстовом редакторе, скопируйте этот текст оттуда:

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

Теперь скопируйте это на дно списка строителей в вашем собственном файле .project. Теперь DataNucleus должен работать нормально. Я понятия не имею, почему это иногда исчезает.

1

Обновление до последней версии appengine java sdk разрешило это для меня.

1

Изменение версии SDK работало для меня.

Интересно, что я уже использовал последнюю версию. Возвращение к предыдущей версии было единственным способом, с помощью которого можно было бы активировать шаг «повышение». Это был сценарий построения градиента.

Смежные вопросы