2013-06-11 2 views
4

У меня очень странная проблема с весенним контекстом.Контекст не существует

public static void main(String[] args) { 


    File file = new File("/home/user/IdeaProjects/Refactor/src/spring-cfg.xml"); 
    System.out.println("Exist "+file.exists()); 
    System.out.println("Path "+file.getAbsoluteFile()); 

    ApplicationContext context = new ClassPathXmlApplicationContext(file.getAbsolutePath()); 

Показать на консоли:

Exist true 
Path /home/user/IdeaProjects/Refactor/src/spring-cfg.xml 

Exception in thread "main" org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from class path resource [home/user/IdeaProjects/Refactor/src/spring-cfg.xml]; nested exception is java.io.FileNotFoundException: class path resource [home/user/IdeaProjects/Refactor/src/spring-cfg.xml] cannot be opened because it does not exist 

ответ

0

Сообщение от исключения является правильным, /home/user/IdeaProjects/Refactor/src/spring-cfg.xml не ресурс классам (выглядит как обычный путь от вашей машины).

Я бы посоветовал использовать: ClassPathXmlApplicationContext("classpath:spring-cfg.xml"), так как ваш xml-файл конфигурации выглядит как находящийся в вашей исходной папке.

3

Вы пытаетесь загрузить его, как если бы /home/user/IdeaProjects/Refactor/src/spring-cfg.xml - это ресурс в пути к классам - это не так, это обычный файл. Попробуйте вместо этого использовать FileSystemXmlApplicationContext ... или укажите подлинный ресурс пути к классу, например. просто spring-cfg.xml, предполагая, что ваш каталог src находится в вашем пути к классам.

2

Это не очень странно. Вы пытаетесь прочитать контекст из файла, который не существует.

ClassPathXmlApplicationContext, верный своему имени, не использует путь как абсолютный, но ищет в пути к классам. Вы должны использовать

ApplicationContext context = new ClassPathXmlApplicationContext("/spring-cfg.xml"); 

Примечание: это будет читать файл не из src, но из скомпилированных классов (где он должен скопированных во время компиляции).

Смежные вопросы