当前位置: 代码迷 >> java >> 无法在另一个应用程序模块中找到spring bean xml文件
  详细解决方案

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

热度:104   发布时间:2023-08-02 10:36:19.0

我的应用程序有两个独立的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。 请帮忙。

类路径的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”。但是,请注意您正在将应用程序的配置耦合到特定的绝对位置。” ( )

  相关解决方案