【问题标题】:Is it webapp-root/META-INF or webapp-root/WEB-INF/classes/META-INF (Tomcat 7)是 webapp-root/META-INF 还是 webapp-root/WEB-INF/classes/META-INF (Tomcat 7)
【发布时间】:2013-06-20 07:06:31
【问题描述】:
除非我将 META-INF 放在根目录中,否则无法正确读取 context.xml 以及定义的资源(队列、jdbc 连接池等),并且 Spring 在启动期间会抛出异常。
现在我有两个 META-INF 文件夹,由于 persistence.xml,我需要一个在类路径 (WEB-INF/classes/META-INF) 上。
可以有两个 META-INF 吗?我总是在 Spring 的 applicationContext 中配置资源,所以之前没有注意到。
谢谢。
【问题讨论】:
标签:
spring
jakarta-ee
web-applications
tomcat7
【解决方案1】:
我想没关系。它们的用途可能略有不同。
webapp-root/META-INF是Web应用元数据的目录,你可以通过servletContext.getResource("/META-INF/foo")访问。
webapp-root/WEB-INF/classes/META-INF是java类元数据的目录,可以通过getContextClassLoader().getResource("/META-INF/foo")读取。