У меня возникли проблемы с получением Spring для чтения файла applicationContext.xml из моего пути к классам.Как указать ресурс на пути к классам
appContext = new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
и
appContext = new ClassPathXmlApplicationContext("applicationContext.xml");
причиной следующей ошибки.
Exception in thread "main" org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from class path resource [applicationContext.xml]; nested exception is java.io.FileNotFoundException: class path resource
[applicationContext.xml] cannot be opened because it does not exist
at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:341)
at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:302)
В следующем коде правильно перечислены все файлы jar, которые находятся на моем пути к классам, в том числе и с файлом applicationContext.
ClassLoader cl = ClassLoader.getSystemClassLoader();
URL[] urls = ((URLClassLoader)cl).getURLs();
for(URL url: urls){System.out.println(url.getFile());}
Один из этих банок имеют ресурсов папку, которая содержит мой файл «applicationContext.xml». Я открыл файл jar с 7-Zip, чтобы убедиться, что он есть.
Я добавил код, чтобы узнать, найдет ли этот загрузчик классов, который перечислял мои файлы jar.
URL appContextURL=cl.getResource("applicationContext.xml");
if(appContextLocation==null){
logger.info("context not found in classpath");
}else{
logger.info("Application context found at " + appContextLocation);
}
Этого также не найти.
Что мне нужно сделать, чтобы убедиться, что найдено applicationContext.xml?
где вы положили свой applicationContext.xml? – kuhajeyan
Какая IDE вы используете? –
Если у вас есть папка 'resources', то ваш путь должен быть'/resources/applicationContext.xml', то, что у вас сейчас, будет загружать его из корня пути к классам. –