我在我的JRXML中使用了我的应用程序的一些对象 A ,如下所示:
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="ResportTest" pageWidth="842" pageHeight="595" orientation="Landscape" whenNoDataType="AllSectionsNoDetail" columnWidth="802" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20">
<property name="ireport.zoom" value="1.5394743546921226"/>
<property name="ireport.x" value="0"/>
<property name="ireport.y" value="0"/>
<import value="com.test.app.EnumOne"/>
<import value="com.test.app.Test1DTO"/>
<import value="com.test.app.Test1Sub1DTO"/>
<import value="com.test.app.Test1Sub2DTO"/>
<import value="com.test.app.Test2DTO"/>
<import value="com.test.app.EnumTwo"/>
使用iReport,我已将 target / classes 目录添加到classpath中,每个方面都可以。
现在,当我尝试使用maven(mvn clean install)编译我的JRXML时,我遇到了错误:
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 12.949 s
[INFO] Finished at: 2015-04-10T08:17:26+01:00
[INFO] Final Memory: 39M/112M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.codehaus.mojo:jasperreports-maven-plugin:1.0-beta-1:compile-reports (default) on project projectOne: Error co
mpiling report design : C:\ws\projectOne\src\main\resources\jasper\jrxml\ReportTest.jrxml: Error compiling report d
esign : C:\ws\projectOne\src\main\resources\jasper\jrxml\ReportTest.jrxml : Report design not valid :
[ERROR] 1. java.lang.ClassNotFoundException: com.test.app.EnumOne
[ERROR] 2. java.lang.ClassNotFoundException: com.test.app.EnumTwo
[ERROR] 3. java.lang.ClassNotFoundException: com.test.app.Test2DTO
当我的构建失败时,maven已经编译了目标/类中的所有classe。 我不明白为什么maven找不到EnumOne,EnumTwo和Test2DTO时会发现另一个。
这是我的jasper的pom.xml:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jasperreports-maven-plugin</artifactId>
<version>${version.jasperreports-plugin}</version>
<configuration>
<sourceDirectory>src/main/resources/jasper/jrxml</sourceDirectory>
<outputDirectory>src/main/resources/jasper/jasper</outputDirectory>
<compiler>net.sf.jasperreports.engine.design.JRJavacCompiler</compiler>
</configuration>
<executions>
<execution>
<goals>
<goal>compile-reports</goal>
</goals>
<phase>compile</phase>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>net.sf.jasperreports</groupId>
<artifactId>jasperreports</artifactId>
<version>${version.jasperreports}</version>
</dependency>
</dependencies>
</plugin>
答案 0 :(得分:0)
好的,我刚刚找到了解决方案。 Maven使用版本 1.0-beta-1 的依赖jasperreports-maven-plugin。我将依赖关系升级到 1.0-beta-2 ,现在可以了!