Почему расположение ContextConfiguration отличается по идее и затмению - PullRequest
2 голосов
/ 19 мая 2010

В моей команде мы работаем как в Eclipse, так и в Idea. Это работает довольно хорошо, за исключением одной незначительной проблемы, которую я не могу понять, как решить. При настройке местоположения ContextConfiguration в наших тестах и ​​запуске их в Eclipse все работает как чудо:

@Test(groups = { "database" })
@ContextConfiguration(locations = {" file:src/main/webapp/WEB-INF/applicationContext.xml" })

Но в моей Идеи env я получаю ошибку "не могу найти applicationContext". Мне необходимо установить местоположение следующим образом (название проекта - services):

@Test(groups = { "database" })
@ContextConfiguration(locations = {" file:services/src/main/webapp/WEB-INF/applicationContext.xml" })

Структура проекта выглядит следующим образом: parent.pom с двумя дочерними poms: services.pom и другие.pom. При запуске теста в терминале из сервисного проекта вот так:

mvn -Dtest=com.mytest.service.somepackage.TheTest test 

нет проблем. Я предполагаю, что, поскольку моя структура проекта родительская с двумя детьми, необходимо / service (проект создается путем указания родительского pom). Есть ли способ это исправить? Не могли бы вы помочь мне с решением. ТНХ

1 Ответ

5 голосов
/ 19 мая 2010

Вы используете путь относительно текущего рабочего каталога. Eclipse и Idea используют разные каталоги. Попробуйте использовать местоположение classpath:

@ContextConfiguration(locations = {" classpath:/WEB-INF/applicationContext.xml" })

Но я не уверен насчет вашей конфигурации classpath. Обычно src/main/webapp будет скопирован в целевой каталог веб-приложения. Возможно, вам нужно настроить его так, чтобы он содержал каталог цели веб-приложения.

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