【问题标题】:JasperReports jrxml to a java fileJasperReports jrxml 到 java 文件
【发布时间】:2015-10-12 19:20:56
【问题描述】:

一般来说,JasperReports 是新手,但我收到了几个 jrxml 文件。我看到这些可以转换为 java 文件,但我一直无法让它工作。示例似乎创建了一个 build.xml 文件并针对 jrxml 文件运行 ant writeapi,但示例中没有内容

<target name="writeApi" description="Generates a .java version of the report by converting the .jrxml file.">
        <ant dir="../" target="writeApi"/>
    </target>

有任何可用的专业知识吗?

【问题讨论】:

    标签: jasper-reports


    【解决方案1】:

    具有 *.jrxml 文件扩展名的报告模板源文件被编译成具有 *.jasper 文件扩展名的序列化对象文件,就像具有 *.java 文件扩展名的 Java 源文件被转换成带有 * 的 Java 字节码二进制文件一样.class 文件扩展名。

    在执行此 jasper 报告时,会生成代表 .jrxml 的 .java 文件,然后它们会创建 .jasper 文件。

    我从未使用过 target="writeApi" 但我猜它类似于

    <taskdef name="jrc" classname="net.sf.jasperreports.ant.JRAntCompileTask"> 
      <classpath refid="classpath"/>
    </taskdef>
    
    
    <target name="compile1"> 
      <mkdir dir="./build/reports"/> 
      <jrc 
       srcdir="./reports"
       destdir="./build/reports"
       tempdir="./build/reports"
       keepjava="true"
       xmlvalidation="true">
      <classpath refid="runClasspath"/>
      <include name="**/*.jrxml"/>
      </jrc>
    </target> 
    

    注意:keepjava="true",但没有生成 .jasper 文件,因此它只生成 .java 文件。

    如果你喜欢使用特定的JRAntApiWriteTask

    用于批量生成 Java 源文件的 Ant 任务,该文件使用 JR API 从编译的报告模板文件或源 JRXML 文件创建报告设计。

    请注意,如果您有 .jasper(编译文件)而不是 jrxml 文件,这可能会很有用,

    你会使用类似于以下的蚂蚁:

    <taskdef name="jrc" classname="net.sf.jasperreports.ant.JRAntApiWriteTask"> 
      <classpath refid="classpath"/>
    </taskdef>
    
    
    <target name="writeApi"> 
      <jrc 
       srcdir="./yourreports"
       destdir="./build/java"
       runApi="true"
       >
      <classpath refid="runClasspath"/>
      </jrc>
    </target>
    

    注意:我设置了runApi="true",这样jrxml文件也会生成(它们通常更有用。

    有关任务的文档,请参阅:JRAntApiWriteTask

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多