Class path resourse [ApplicationContext.xml] cannot be opened because it does not exist

Рейтинг: 3Ответов: 1Опубликовано: 17.11.2014

Добрый вечер.

Просидел 7 часов в попытке решить эту проблему. Прошу вашей помощи.

Написал небольшое веб-приложение - Hibernate+Spring+Vaadin. ApplicationContext.xml лежит в папке src/resourses. Если его собирать в IDEA из родной директории, где я его писал, - все стартует отлично. Если перенести в другое место и собрать war уже там - он не может найти этот файл (через какое-то время, после 3-й, 4-й сборки запускается нормально, без внесения изменений, что раздражает больше всего).

Для переменной использую

ClassPathXmlApplicationContext ctx = 
             new ClassPathXmlApplicationContext("applicationContext.xml");

Собираю проект через Maven. Может, для веб-проектов нужно ресурсы помещать в другую папку или каким-то образом задавать class path? Пробовал переместить в WEB-INF, в src/, но все без толку.

Подскажите, пожалуйста, в каком направлении копать и почему оно то запускается как надо, то не запускается без внесения изменений?

Ответы

▲ 1

У вас точно нет опечатки в src/resourses? Т. к. стандартная директория с ресурсами в мавене -- src/resources.

Ещё стоит глянуть в строчку запуска в идее (которая выводится в консоль) и внимательно поглядеть на то, какой там classpath. Ну и, собирая mvn clean package посмотреть, что лежит в получившемся war.