Тестирование JPA Hibernate Maven -> неизвестный класс - PullRequest
0 голосов
/ 10 июня 2011

Я пытаюсь запустить простой класс dataImport, который использует JPA и Hibernate.

Если я запускаю свой класс, у меня всегда появляется следующая ошибка:

Exception in thread "main" java.lang.IllegalArgumentException: Unknown entity: ch.itartis.relman.entities.code.ReferenceCode
    at org.hibernate.ejb.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:675)
    at ch.itartis.relman.service.test.dataimport.DataImport.doSave(DataImport.java:111)
    at ch.itartis.relman.service.test.dataimport.DataImport.main(DataImport.java:43)

Мой класс находится в папке src / test / java /, у меня есть файл service-config.xml в src / test / resources /, а у меня также есть файл persistence.xml в src / test / resources / META-INF /.

Если я запускаю класс в папке src / main / java / ..., он работает. Но если я хочу иметь класс в src / test / java /, он не будет.

Что я делаю не так?

Большое спасибо!

Ответы [ 2 ]

3 голосов
/ 10 июня 2011

Вы запускаете код из своего собственного метода main, который, как я предполагаю, означает, что он не запускается maven. Тестовый код не входит в состав артефакта, сгенерированного maven, он включается только на этапе тестирования mavens для запуска модульных тестов.

Если вы используете maven, почему бы просто не создать тесты JUnit, которые maven будет запускать как часть процесса сборки, а не как собственный.

0 голосов
/ 10 июня 2011

Чтобы ответить на вопрос Робина: если вы используете класс, используя exec:java, установите classpathScope на test и все будет хорошо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...