我正在将项目从基于 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 文件
添加回答
举报
0/150
提交
取消