gpt4 book ai didi

java - 尝试从资源获取文件时出现 FileNotFound 异常

转载 作者:行者123 更新时间:2023-12-01 15:24:20 26 4
gpt4 key购买 nike

我无法生成 myJasperReports.jasper 文件,因为它在尝试读取文件并创建报告时抛出 FileNotFoundException。我正在使用 jasper-reports 3.7.5 和基于注释的 Spring。有人能告诉我可能是什么问题吗?

在 web.xml 文件中:

<bean id="myReportTemplate" class="org.springframework.core.io.ClassPathResource">
<constructor-arg value="mypackage/reports/jasper/template/SampleJasper.jasper"/>
</bean>

谢谢。

这是堆栈跟踪:

[ERROR] java.io.FileNotFoundException: class path resource [mypackage/reports/jasper/template/SampleJasper.jasper] cannot be resolved to URL because it does not exist
[ERROR] at org.springframework.core.io.ClassPathResource.getURL(ClassPathResource.java:179)
[ERROR] at org.springframework.core.io.AbstractFileResolvingResource.getFile(AbstractFileResolvingResource.java:48)
[ERROR] at mypackage/reports.ReportsServiceImpl.prepareChart(ReportsServiceImpl.java:93)
[ERROR]

我在 pom.xml 文件中使用的插件

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.1.1</version>
<executions>
<execution>
<phase>compile</phase>
<goals>
<goal>exploded</goal>
</goals>
</execution>
</executions>
<configuration>
<webappDirectory>${webappDirectory}</webappDirectory>
</configuration>
</plugin>

<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jasperreports-maven-plugin</artifactId>
<configuration>
<outputDirectory>${project.build.directory}/jasper</outputDirectory>
</configuration>
<executions>
<execution>
<goals>
<goal>compile-reports</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>jasperreports</groupId>
<artifactId>jasperreports</artifactId>
<version>2.0.5</version>
</dependency>
</dependencies>
</plugin>

最佳答案

The problem is that the SampleJasper.jasper file is not getting generated in specified folder, the folder itself is not created.

要生成 Jasper Report,您应该调用 JasperCompileManager.compileReport() 并传递 .jrxml 文件。

但是在您的情况下,您指定了 .jasper 文件,这意味着您应该已经编译并将编译文件放置在您在 application-context.xml 中提供的位置中.

如果您没有预编译它,那么您应该指定要编译的 jrxml 文件,然后您将找到的编译文件将传递给 Jasper 查看器。

Spring 有关于 jasper integration 的文档

关于java - 尝试从资源获取文件时出现 FileNotFound 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10396682/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com