Базовое приложение Roo 1.2.0 с datanucleus все еще глючит - PullRequest
0 голосов
/ 18 декабря 2011

Несколько дней назад я опубликовал Супер базовое приложение Roo 1.1.5 с ошибкой , и совсем недавно, 17 декабря 2011 года, была выпущена Spring Roo 1.2.0.Я создал эквивалентный проект:

project --topLevelPackage task --java 6 --projectName Task
jpa setup --provider DATANUCLEUS --database H2_IN_MEMORY 
entity jpa --class ~.domain.Task
field string --fieldName description --notNull --sizeMin 3 --sizeMax 512
field boolean --fieldName completed --notNull
web jsf setup 
controller all --package ~.controller
exit
mvn jetty:run

И меня встретили java.lang.NoClassDefFoundError: javax/jdo/JDONullIdentityException.Не очень хорошее начало, но легко решить добавление отсутствующей зависимости jdo-api в pom.xml (как объяснил Энди Датануклеус )

<dependency>
        <groupId>javax.jdo</groupId>
        <artifactId>jdo-api</artifactId>
        <version>3.0</version>
</dependency>

На этом этапе приложение можетзапустить, но дублированная запись об ошибке обновления все еще была там.Итак, как объяснил Энди, я снова добавил в JIRA ROO-1467 к persistence.xml:

<property name="datanucleus.allowAttachOfTransient" value="true"/>

На этот раз я не получил дублированную запись,но исключение:

Невозможно установить параметр объекта: значение = 1 для столбца "TASK.VERSION": недопустимое значение "6" для параметра "parameterIndex" [90008-161];вложенное исключение: javax.persistence.PersistenceException: невозможно установить параметр объекта: значение = 1 для столбца «TASK.VERSION»: недопустимое значение «6» для параметра «parameterIndex» [90008-161]

Iне знаю, актуально это или нет, но я также заметил много предупреждений, похожих на следующее:

WARN  DataNucleus.MetaData - Class task.controller.TaskController_Roo_Controller
was specified in persistence-unit persistenceUnit but not annotated, so ignoring

Какие еще изменения я должен сделать, чтобы это заработало?

...