繁体   English   中英

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

[英]Unable to locate xml file using ClassPathResource in Spring Java configuration

我正在将项目从基于 xml 的配置迁移到基于 java 的配置。

我能够成功定义除一个之外的所有 bean。 XMLViewResolver我们正在使用 JasperReports,因此所有 jrxml 文件都在报告中定义。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>

项目结构

我不得不将reports.xml 移动到 src/main/resources 并将位置更改如下

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

现在项目能够读取和检测.xml文件

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM