问题描述
我的应用程序有两个独立的Maven项目。第一个项目是具有dao和bean类的核心项目。 第二个项目是具有Spring Rest类的Web项目。 该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楼
类路径的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”。但是,请注意您正在将应用程序的配置耦合到特定的绝对位置。” ( )