Domanda

In formica, come faccio a compilare un .jrxml file per ottenere un .jasper ?

È stato utile?

Soluzione

Ci sono tre modi per compilare jrxml a Jasper.

  1. Si può fare di compilazione diretta tramite il pulsante di compilazione (martello logo) su iReport designer.

  2. È possibile utilizzare formica per compilare come indicato nella Ant Compila Esempio .

    <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>
    

    Di seguito è riportato il compito di compilazione relazione sul mio progetto in corso.

    alt text

    Inoltre da Daniel Rikowski :

  3. È inoltre possibile utilizzare il JasperCompileManager classe per compilare dal codice Java.

    JasperCompileManager.compileReportToFile(
                    "our_jasper_template.jrxml", // the path to the jrxml file to compile
                    "our_compiled_template.jasper"); // the path and name we want to save the compiled file to
    

Altri suggerimenti

Per chiunque imbattersi in questa domanda che usa Jaspersoft Studio (che, credo, è la sostituzione iReports: è abbastanza simile, ancora freeware, solo sulla base di Eclipse), cercare l'icona "Compila report" sulla parte superiore dell'area di editore di file .jrxml. La sua icona, prima in quella linea di icone, è un file con numeri binari su di esso (almeno nella versione 5.6.2): ??

Jaspersoft Studio - rapporto di compilazione

Cliccando su questa icona genererà il file .jasper nella stessa directory del file .jrxml.

con Maven è automatico:

<plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>jasperreports-maven-plugin</artifactId>
        <configuration>
        <outputDirectory>target/${project.artifactId}/WEB-INF/reports</outputDirectory>
    </configuration>
        <executions>
            <execution>
                <phase>prepare-package</phase>
                <inherited>false</inherited>
                <goals>
                    <goal>compile-reports</goal>
                </goals>
            </execution>
        </executions>
        <dependencies>
    <dependency>
        <groupId>net.sf.jasperreports</groupId>
        <artifactId>jasperreports</artifactId>
        <version>3.7.6</version> 
    </dependency>
    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.16</version>
        <type>jar</type>
    </dependency>
    </dependencies>

sto usando iReport 2.0.2 per generare il file di diaspro.

Non ho trovato il logo martello, ma ho un create > compile menu nella barra dei menu che creano il file di diaspro nelle file di programma iReport cartella:

IReport Logs: "compilazione vers le fichier ... \ SalesOrderItemsSubreportA4.jasper -> C:. \ Program Files \ JasperSoft \ iReport-2.0.2 \ SalesOrderItemsSubreportA4.java"

Utilizzando iReport progettista 5.6.0, se si desidera compilare più file jrxml senza anteprima - andare in Strumenti -> Massive Utensile. Selezionare Elaborazione tipo come "compilare i file", selezionare la cartella in cui sono memorizzati tutti i vostri rapporti jrxml, e compilarli in un batch.

Se si sta utilizzando iReport si può facilmente farlo.

  1. Quando si fa clic anteprima che compilerà automaticamente.
  2. C'è un'opzione per renderlo complie. È possibile compilare selezionando pagina quindi fare clic destro si otterrà l'opzione di compilazione.

In Eclipse,

  • Jaspersoft Studio per Eclipse.
  • Fare clic destro sul file e selezionare .jrxml Open with JasperReports Book Editor
  • Apri la scheda Design per il file .jrxml.
  • Nella parte superiore della finestra è possibile vedere l'icona Compile Report.

Utilizzo di Version 5.1.0:

Basta cliccare l'anteprima e si creerà un YourReportName.jasper per voi nella stessa directory di lavoro.

  1. Aprire il file .jrxml in iReport Designer.
  2. Aprire il report Inspector (Window -> Rapporto Inspector).
  3. Fare clic con il nome del rapporto nella parte superiore della finestra di ispezione e quindi fare clic su "Report Compile".

È anche possibile visualizzare il report in modo che sia compilato automaticamente.

 **A full example of POM file**.

Command to Build All **Jrxml** to **Jasper File** in maven
If you used eclipse then right click on the project and Run as maven Build and add goals antrun:run@compile-jasper-reports 


compile-jasper-reports is the id you gave in the pom file.
**<id>compile-jasper-reports</id>**




<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.test.jasper</groupId>
  <artifactId>testJasper</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>

  <name>TestJasper</name>
  <url>http://maven.apache.org</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <dependencies>
    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.17</version>
    </dependency>
    <dependency>
        <groupId>net.sf.jasperreports</groupId>
        <artifactId>jasperreports</artifactId>
        <version>6.3.0</version>
    </dependency>
    <dependency>
        <groupId>net.sf.jasperreports</groupId>
        <artifactId>jasperreports-fonts</artifactId>
        <version>6.0.0</version>
    </dependency>
    <dependency>
        <groupId>org.codehaus.groovy</groupId>
        <artifactId>groovy-all</artifactId>
        <version>2.4.6</version>
    </dependency>
    <dependency>
        <groupId>com.itextpdf</groupId>
        <artifactId>itextpdf</artifactId>
        <version>5.5.6</version>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>


  </dependencies>
    <build>
    <pluginManagement>
    <plugins>
         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.5</version>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>       
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-antrun-plugin</artifactId>
            <version>1.8</version>
            <executions>
                <execution>
                    <id>compile-jasper-reports</id>
                    <goals>
                        <goal>run</goal>
                    </goals>
                    <phase>generate-sources</phase>
                    <configuration>
                        <target>
                            <echo message="Start compile of jasper reports" />
                            <mkdir dir="${project.build.directory}/classes/reports"/>
                            <echo message="${basedir}/src/main/resources/jasper/jasperreports" />
                            <taskdef name="jrc" classname="net.sf.jasperreports.ant.JRAntCompileTask"
                                classpathref="maven.compile.classpath" />
                                <jrc srcdir="${basedir}/src/main/resources/jasper/jasperreports" destdir="${basedir}/src/main/resources/jasper/jasperclassfile"
                                  xmlvalidation="true">
                                <classpath refid="maven.compile.classpath"/>
                                <include name="**/*.jrxml" />
                            </jrc>
                        </target>
                    </configuration>
                </execution>
            </executions>
        </plugin>
    </plugins>
    </pluginManagement>
</build>
</project>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top