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

我正在将项目从基于 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>

https://img4.mukewang.com/6501879000013a2103770535.jpg

回首忆惘然
浏览 67回答 1
1回答

互换的青春

我必须将 reports.xml 移至 src/main/resources 并更改位置,如下所示&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bean.setLocation(new&nbsp;ClassPathResource("reports.xml"));现在该项目可以读取并检测 .xml 文件
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java