java - Spring 3.0找不到applicationcontext.xml

标签 java spring servlets

我正在开发使用数据库存储系统的 Web 应用程序,并且我选择将 dataAccess-applicationcontext 与其余部分分开。但是,当我运行以下代码行时,它说它不存在。

ApplicationContext ac = new ClassPathXmlApplicationContext("dataAccess-applicationContext.xml", UsageDataDAO.class);

我什至将 xml 文件移动到同一目录,结果却出现了与下面发布的相同的错误。

nested exception is java.io.FileNotFoundException: class path resource [com/foobar/bar/foo/dataAccess-applicationContext.xml] cannot be opened because it does not exist

知道这里发生了什么吗?

最佳答案

如果没有所有细节,这很难调试,但它必须是两个问题之一。

首先,该文件确实不在您的类路径中。这是一个 Web 应用程序,因此您应该考虑 how your particular servlet container works当您检查类路径时。例如,在servlet环境中,WEB-INF不在类路径中,但WEB-INF/classes在。

其次,该文件位于您的类路径中,但您错误地引用了它。根据您已经提供的信息,我认为情况并非如此,但这种可能性可以稍后扩展。

无论如何,您为什么要尝试手动加载文件?您应该引用 web.xml 中的配置。如果您提供有关如何运行 Web 应用程序的更多详细信息,那么我们可以帮助您完成这部分。同时,这个例子可能已经提供了足够的信息。它说明了如何配置由容器中的所有 Servlet 和 Filter 共享的根 spring 容器(配置特定的 Servlet 需要稍微不同的方法):

<context-param>
  <param-name>contextConfigLocation</param-name>
  <param-value>/WEB-INF/config1.xml, /WEB-INF/config2.xml</param-value>
</context-param>

关于java - Spring 3.0找不到applicationcontext.xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8746415/

相关文章:

Java:基于对象值的同步

java - 从一个 Tomcat 实例中的另一个 webapp 调用方法

java - 将 hibernate-search 添加到现有系统的依赖项会导致 NoSuchFieldException

jsp - 如何在不包含上下文根名称的情况下使用相对路径?

java - Spring Java servlet 返回错误的用户代理

java - 检查请求日期是否在特定时间内的简单方法。使用 for 循环和 if 语句

java - 如何停止记录tomcat服务器中的所有调试语句

java - 在 Transformer 中获取消息头 - Spring 集成

spring - 当构造函数存在歧义时,Spring中选择构造函数的逻辑是什么

JAVA:Servlet 根据使用的方法 doGet/doPost 做不同的事情