【发布时间】:2017-09-30 21:12:07
【问题描述】:
我有一个使用多个 web 片段的主要 webapp 项目。它在 Tomcat 8 上运行。
在我的 web.xml 文件中,我有一个对主要 Spring 上下文的引用,例如:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath*:META-INF/spring/mainCtx.xml
</param-value>
</context-param>
在WEB-INF/lib 文件夹中,我有一个componentA.jar,它在自己的META-INF 文件夹下包含一个web-fragment.xml(不同于主应用程序的META-INF 文件夹):
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath*:META-INF/spring/componentA_Ctx.xml
</param-value>
</context-param>
但是,Spring 似乎在 jar 中找不到我的 compomentA_Ctx.xml。进一步阅读,似乎是因为在 2 个上下文文件中存在名称冲突 contextConfigLocation。
我的目标是为组件提供可插入性,使其独立于主 webapp。因此我想单独加载它的上下文。
有没有办法让 Spring 在这两个位置寻找上下文?或者在 web.xml 和 web-fragment.xml 中分别定义上下文的方法?
【问题讨论】:
标签: spring web.xml tomcat8 web-fragment