Play framework 2.1 junit test не работает с eclipse - программирование
Подтвердить что ты не робот

Play framework 2.1 junit test не работает с eclipse

im после учебника zentask и написал тест junit, тест не будет запускаться из Eclipse IDE, что дает следующее исключение.

javax.persistence.PersistenceException: java.lang.IllegalStateException: Class [class play.db.ebean.Model] is enhanced and [class models.User] is not - (you can not mix!!)
    at com.avaje.ebeaninternal.server.deploy.BeanDescriptorManager.setEntityBeanClass(BeanDescriptorManager.java:1475)
    at com.avaje.ebeaninternal.server.deploy.BeanDescriptorManager.createByteCode(BeanDescriptorManager.java:1138)
    at com.avaje.ebeaninternal.server.deploy.BeanDescriptorManager.readDeployAssociations(BeanDescriptorManager.java:1058)
    at com.avaje.ebeaninternal.server.deploy.BeanDescriptorManager.readEntityDeploymentAssociations(BeanDescriptorManager.java:565)
    at com.avaje.ebeaninternal.server.deploy.BeanDescriptorManager.deploy(BeanDescriptorManager.java:252)
    at com.avaje.ebeaninternal.server.core.InternalConfiguration.<init>(InternalConfiguration.java:124)
    at com.avaje.ebeaninternal.server.core.DefaultServerFactory.createServer(DefaultServerFactory.java:210)
    at com.avaje.ebeaninternal.server.core.DefaultServerFactory.createServer(DefaultServerFactory.java:64)

Я немного прочитал и нашел, что для некоторых людей редактирование buils.scala, добавив следующую строку внутри main: ebeanEnabled: = true

для меня это не закрыло ide running play clean compile

любые идеи

4b9b3361

Ответ 1

В блоге сообщается о настройке модульных тестов для работы в среде IDE. Он предлагает добавить следующую строку командной строки в java, используемую при выполнении тестов:

-javaagent:/path/to/ebean/ebean-2.7.3-agent.jar

Кажется, что Play не поставляется с ebean-агентом, его следует сначала загрузить с веб-сайта Ebean (в основном пакете ebean).

Я не пробовал.

Руководство пользователя Ebean также упоминает его (раздел 15.5.2 javaagent), есть даже пример для настройки Eclipse.

Кроме того, чтобы ускорить повышение, возможно, это будет лучше:

-javaagent:/path/to/ebean/ebean-2.7.3-agent.jar;packages=models.*

Таким образом, он будет рассматривать только models.* (пакет по умолчанию для моделей ORM в Play).

Ответ 2

Вы можете использовать плагин Avaje Ebean Eclipse:

http://www.avaje.org/eclipseupdate/site.xml

После установки активируйте расширение Ebean, щелкнув правой кнопкой мыши на своем проекте и выбрав Enable Ebean Enhancement.

Ответ 3

я получил эту ошибку, когда попытался удалить общедоступный модификатор из объявления одного из классов, расширяющих Model.

Я использовал модель для создания "сквозной" таблицы (отношение многих к многим с дополнительной информацией), поэтому защищенный доступ имеет смысл. возможно, есть еще один способ сделать это, но игра javadoc довольно скудная.