java - 找不到 applicationContext 类路径

标签 java spring tomcat filter shiro

出于某种原因(shiro 过滤器),我将我的应用程序上下文文件保存在 WEB-INF 文件夹中。当我运行 tomcat 时一切正常,但是当我尝试使用以下方法从 Controller 获取应用程序上下文时:

context = new ClassPathXmlApplicationContext(fileContext);

我总是收到这个异常:

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

似乎在 ecplise 下我无法在类路径下包含 WEB-INF。我在 stackoverflow 中查看了很多问题,但我还没有找到解决方案。

如果我将 applicationContext.xml 文件移动到 src/main/java 文件夹下,我可以获取上下文,但是,定义到 web.xml 文件中的 shiro 文件无法看到 applicationContext 文件下定义的 shiro bean (我仔细检查了 bean 是否正常工作)。我如何告诉 web.xml 从 src/main/java 获取内容?或者,我怎样才能到达 applicationContext.xml

最佳答案

WEB-INF 不在您的 CLASSPATH 中。 WEB-INF/classes 是。那么为什么不将它放在源文件夹中并打包应用程序呢?

关于java - 找不到 applicationContext 类路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15936187/

相关文章:

java - 高效地发送多封电子邮件

java - WEB-INF/lib 中的 tomcat 类加载器优先级

java - 作为 byte[] 发送的字符串内容将其内容转义为查询字符串

java - 将 JS 与 wicket 集成

java - 回复中没有相关 header

java - Lambda 和 putIfAbsent

java - 如何在spring cache java中配置多个缓存管理器

java - 为什么 Tomcat 在 catalina.out 日志文件中将我的日志行加倍?

java - 使用 Tomcat 运行 Angular 2 应用程序

java - 将对象引用保存到 Android 中的 Bundle