无法在另一个应用程序模块中找到spring bean xml文件

时间:2015-07-18 11:25:00

标签: java xml spring maven spring-mvc

我的应用程序有两个独立的maven项目。第一个项目是具有dao和bean类的核心项目。第二个项目是网络项目,有春季休息班。此Web项目具有web.xml和spring-servlet.xml文件。核心项目有spring.xml文件,其中包含jdbctemplate和其他bean定义代码以及数据源信息。

我已经在web项目的spring-servlet.xml中编写了这段代码来导入核心项目的spring.xml文件。

  <beans:import resource="classpath:/mycarecore/src/main/resources/spring.xml"/>

现在,当我构建war文件时,war构建正常,但是当我在服务器上部署war并启动服务器时,它会为spring.xml文件提供找不到文件的文件。我已经在maven依赖项中给出了项目引用,我可以看到战争中生成战争的核心项目。我在文件路径上做了多处更改,但它没有帮助。因此,我也无法在我的dao层中使用jdbctemplate。 请帮忙。

1 个答案:

答案 0 :(得分:0)

类路径的url看起来像一个绝对的url。仅当spring.xml位于计算机上的/mycarecore/src/main/resources/spring.xml路径时,此方法才有效。否则,您应该只使用:classpath:mycarecore/src/main/resources/spring.xml

从Spring文档: “您始终可以使用完全限定的资源位置而不是相对路径:例如,”file:C:/config/services.xml“或”classpath:/config/services.xml“。但是,请注意您正在耦合应用程序的配置到特定的绝对位置。“ (http://docs.spring.io/spring/docs/current/spring-framework-reference/html/beans.html