我正在编写java应用程序。我正在使用Spring MVC,Spring Security,Hibernate和Tiles。我在我的项目中使用maven。每当我执行我的网络应用程序时,我都会遇到异常:
0 [main] INFO org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization started
281 [main] INFO org.springframework.web.context.support.XmlWebApplicationContext - Refreshing Root WebApplicationContext: startup date [Sat Feb 04 03:15:50 IST 2012]; root of context hierarchy
625 [main] INFO org.springframework.beans.factory.xml.XmlBeanDefinitionReader - Loading XML bean definitions from class path resource [resources/security-app-context.xml]
640 [main] ERROR org.springframework.web.context.ContextLoader - Context initialization failed
org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from class path resource [resources/security-app-context.xml]; nested exception is java.io.FileNotFoundException: class path resource [resources/security-app-context.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)
at ...........
..............
我试图将我的security-app-context.xml放在任何地方,但它没有帮助,我一直得到这个例外。
这是我的POM文件:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>success.green-wheels</groupId>
<artifactId>green-wheels-project</artifactId>
<version>1</version>
<packaging>war</packaging>
<name>web-app-module</name>
<url>http://maven.apache.org</url>
<properties>
<org.springframework.version>3.1.0.RELEASE</org.springframework.version>
<org.apache.tiles.version>2.2.2</org.apache.tiles.version>
<org.hibernate.version>3.3.2.GA</org.hibernate.version>
</properties>
<dependencies>
...Some dependencies to Spring, Hibernate and so
</dependencies>
<build>
<finalName>${artifactId}</finalName>
<sourceDirectory>src</sourceDirectory>
<resources>
<resource>
<directory>src/success/greenWheels/dataAccess/hibernate/resources</directory>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.2</version>
<configuration>
<webResources>
<resource>
<directory>web</directory>
</resource>
</webResources>
</configuration>
</plugin>
</plugins>
</build>
</project>
这是我的目录结构:
有什么问题?我应该在哪里放置security-app-context.xml以使其工作?
我想将所有配置文件放在一个文件夹中。我该怎么办?
答案 0 :(得分:1)
如果您将/resources
放在CLASSPATH
下,WEB-INF/classes
目录将在{{1}}。
答案 1 :(得分:0)
INFO org.springframework.beans.factory.xml.XmlBeanDefinitionReader - Loading XML bean definitions from class path resource [resources/security-app-context.xml]
你是如何得到这个例外的?你的resources
文件夹在哪里?我没有看到......
您是否在Spring配置中使用<import resource="resources/security-app-context.xml" />
?如果是,我猜您必须使用<import resource="security-app-context.xml" />
。
我不确定IntelliJ IDEA
,但在SpringSource Tool Suite
(或Eclipse
,无关紧要)我的Maven
项目的结构如下: