首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WEB-INF外部的Spring XML文件

WEB-INF外部的Spring XML文件
EN

Stack Overflow用户
提问于 2010-07-20 02:26:52
回答 3查看 2.2K关注 0票数 3

我正在参与一个使用Spring和GWT的多模块maven2项目。假设我有两个子项目: service和presentation。"service“包含服务的实际实现,而"presentation”负责为GWT包装它们。

我已经成功地加载了WEB-INF目录(与web.xml相同)中的Spring XML文件,但是对于那些应该从其他模块加载的XML文件,我遇到了问题。

我的web.xml看起来像这样:

代码语言:javascript
复制
<listener>
    <listener-class>
        org.springframework.web.context.ContextLoaderListener
    </listener-class>
</listener>

 <context-param>
     <param-name>contextConfigLocation</param-name>
     <param-value>
      classpath:/spring-presentation.xml, classpath:/spring-services.xml
     </param-value>
 </context-param>

这里,spring-presentation.xml在演示项目中,而spring-services.xml在服务项目中。未加载spring-services.xml文件。我是不是遗漏了什么?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-07-20 02:37:22

我猜测演示项目被编译为WAR,而服务项目被编译为JAR。此外,演示项目依赖于服务项目。

在这种情况下,将spring-services.xml文件作为资源包含在服务项目的pom中,以便将其放入其jar中,并且由于表示项目依赖于服务项目,因此服务jar将被放入/WEB-INF/lib文件夹中,然后Spring将能够从类路径加载它。

票数 2
EN

Stack Overflow用户

发布于 2010-07-20 02:35:16

如果该值以classpath:开头,则不会在WEB-INF/文件夹中查找,而是在类路径中查找,类路径是WEB-INF/classes,是WEB-INF/lib/下所有jar文件的直接内容。

要使其显示在WEB-INF/文件夹中,需要指定如下所示的值:

代码语言:javascript
复制
<param-value>
  /WEB-INF/spring-presentation.xml
  /WEB-INF/spring-services.xml
</param-value>

(您可以将它们放在一行中,用逗号分隔,但我喜欢这样)

票数 1
EN

Stack Overflow用户

发布于 2010-07-20 07:08:59

使用

<import resource="classpath:spring-services.xml" />

spring-presentation.xml的顶部,而不是从web.xml引用它

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3283884

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档