为了账号安全,请及时绑定邮箱和手机立即绑定

无法在 Spring Java 配置中使用 ClassPathResource 找到 xml 文件

无法在 Spring Java 配置中使用 ClassPathResource 找到 xml 文件

回首忆惘然 2023-09-13 17:56:50
我正在将项目从基于 xml 的配置迁移到基于 java 的配置。我能够成功定义除一个之外的所有 bean。 XMLViewResolver 我们使用的是 JasperReports,因此所有 jrxml 文件都在 reports.xml 中定义。从我的类路径中,我无法找到 xml 文件。我尝试仅在 ClassPathResource 中添加 reports.xml ,但在项目构建期间仍然出现错误。@Bean public ViewResolver xmlViewResolver() {        logger.info("xmlViewResolver");        XmlViewResolver bean = new XmlViewResolver();        bean.setOrder(10);        bean.setLocation(new ClassPathResource("WEB-INF/spring/appServlet/reports.xml"));        return bean;    }Caused by: java.io.FileNotFoundException: class path resource [WEB-INF/spring/appServlet/reports.xml] cannot be opened because it does not exist    at org.springframework.core.io.ClassPathResource.getInputStream(ClassPathResource.java:172)    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:330)    ... 47 more旧的 xml 代码:<beans:bean id="viewResolver"        class="org.springframework.web.servlet.view.XmlViewResolver">        <beans:property name="order" value="0" />        <beans:property name="location"            value="/WEB-INF/spring/appServlet/reports.xml" /></beans:bean>
查看完整描述

1 回答

?
互换的青春

TA贡献1797条经验 获得超6个赞

我必须将 reports.xml 移至 src/main/resources 并更改位置,如下所示

        bean.setLocation(new ClassPathResource("reports.xml"));

现在该项目可以读取并检测 .xml 文件

https://img1.sycdn.imooc.com//650187990001924803480323.jpg

查看完整回答
反对 回复 2023-09-13
  • 1 回答
  • 0 关注
  • 66 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信