如何让classpath适用于我的应用程序?

时间:2017-10-08 18:20:45

标签: java spring spring-boot jasper-reports

这可能是一个非常虚拟的问题,但我真的不知道什么是错的,或者至少如何解决它......

我正在使用JasperReports创建基本报告,我需要在配置上执行此操作:

@RequestMapping(path = "/pdf", method = RequestMethod.GET)
public ModelAndView report() {

    JasperReportsPdfView view = new JasperReportsPdfView();
    view.setUrl("classpath:report2.jrxml");
    view.setApplicationContext(appContext);

    Map<String, Object> params = new HashMap<>();
    params.put("datasource", carService.getCars());

    return new ModelAndView(view, params);
}

基于此guide

org.springframework.web.util.NestedServletException: Request processing failed; 
nested exception is java.lang.IllegalStateException: 
ApplicationObjectSupport instance [org.springframework.web.servlet.view.jasperreports.JasperReportsPdfView: unnamed; URL [classpath:report2.jrxml]] 
does not run in an ApplicationContext

并且我确实在/resources

下直接使用了jasper文件

复制文件路径是:

C:\Users\user\Documents\test\src\main\resources\report2.jrxml

所以,我可以非常肯定它在那里,仍然没有运气实施,有人知道我该怎么做? classpath有哪些替代方法?

有什么想法吗?

0 个答案:

没有答案