class 无法打开路径资源,因为它在我手动加载上下文时不存在
class path resource cannot be opened because it does not exist when I load context manually
我有以下 webApp 文件夹结构:
我想手动加载 spring 上下文。
我写了下面的代码:
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>
有效
当您提供此位置时
<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 通常不会添加到类路径 afaik)。
将其添加到类路径或将 applicationContext.xml
文件移动到类路径中的其他位置并在构造函数中使用该路径。
我有以下 webApp 文件夹结构:
我想手动加载 spring 上下文。
我写了下面的代码:
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>
有效
当您提供此位置时
<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 通常不会添加到类路径 afaik)。
将其添加到类路径或将 applicationContext.xml
文件移动到类路径中的其他位置并在构造函数中使用该路径。