2015-06-05 2 views
0

У меня есть следующий WebAPP структура папок:класса путь ресурсы не могут быть открыты, так как он не существует, когда я загружаю Context вручную

enter image description here

Я хочу, чтобы загрузить контекст пружины вручную.

Я написал следующий код:

ApplicationContext app = new ClassPathXmlApplicationContext("applicationContext.xml"); 

Когда код выше вызывает я вижу на следующее сообщении об исключении:

java.io.FileNotFoundException: class path resource [applicationContext.xml] cannot be opened because it does not exist 

Как переписать свой код, чтобы избежать этого исключения?

P.S. Я не хочу переместить мой XML-файл.

P.P.S.

new ClassPathXmlApplicationContext("WEB-INF/applicationContext.xml") 

не работает слишком, хотя в web.xml была написана

<context-param> 
     <param-name>contextConfigLocation</param-name> 
     <param-value>WEB-INF/applicationContext.xml</param-value> 
</context-param> 

и работает

+0

Мне нужен компонент из контекста – gstackoverflow

ответ

0

Когда вы предоставите эту точку

<context-param> 
    <param-name>contextConfigLocation</param-name> 
    <param-value>WEB-INF/applicationContext.xml</param-value> 
</context-param> 

Ресурс Решенный относительно пути контекста Servlet.

Когда вы предоставляете

new ClassPathXmlApplicationContext("WEB-INF/applicationContext.xml") 

вы рассказываете Spring, чтобы найти определенный ресурс на пути к классам. В вашем случае, вероятно, его нет (WEB-INF обычно не добавляется в classpath afaik).

Либо добавьте его в путь к классам, либо переместите файл applicationContext.xml в другое место в пути к классам и используйте этот путь в своем конструкторе.

+0

Как добавить путь к classpath? – gstackoverflow

+0

@gstackoverflow Когда вы запускаете 'java', используйте опцию' -cp'. –

+0

Я запускаю приложение примерно: ** mvn clean install причал: запустить ** – gstackoverflow

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

  • Нет связанных вопросов^_^