0

myJasperReports.jasperファイルを生成できませんFileNotFoundException。ファイルを読み取ってレポートを作成しようとすると、しばらく時間がかかるためです。私はjasper-reports3.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>
4

1 に答える 1

1

問題は、SampleJasper.jasper ファイルが指定されたフォルダーに生成されず、フォルダー自体が作成されないことです。

Jasper Report を生成するには、呼び出す必要がJasperCompileManager.compileReport()あり、ファイルを渡し.jrxmlます。

しかし、あなたの場合、.jasperファイルを指定しています。つまり、コンパイルファイルをコンパイルして、application-context.xml.

プリコンパイルしていない場合は、コンパイル用に jrxml ファイルを指定する必要があります。その後、Jasper ビューアーに渡すコンパイル済みファイルの場所を指定します。

Spring にはjasper 統合に関するドキュメントがあります

于 2012-05-01T15:07:55.890 に答える