Comment compiler jrxml pour obtenir jasper?
J'ai jrxml fichier, je veux le compiler pour obtenir .jasper. Comment puis-je compiler et d'obtenir que les jasper fichier?
10 réponses
Il y a trois façons de compiler JRXML à jasper.
Vous pouvez faire la compilation directe via le bouton de compilation (logo hammer) sur iReport designer.
-
Vous pouvez utiliser ant pour compiler comme indiqué dans l'exemple Ant Compile .
<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>
Voici la tâche de compilation du rapport sur mon projet actuel.
Ajout de Daniel Rikowski :
-
Vous pouvez également utiliser la classe JasperCompileManager pour compiler à partir de votre code 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
Pour toute personne rencontrant cette question qui utilise Jaspersoft Studio (qui, je pense, remplace iReports; c'est assez similaire, toujours freeware, juste basé sur eclipse), recherchez l'icône "compiler le rapport" en haut de la zone d'éditeur de votre .fichier jrxml. Son icône, d'abord dans cette ligne d'icônes, est un fichier avec des nombres binaires (au moins dans la version 5.6.2):
En cliquant sur cette icône va générer le .jasper fichier dans le même répertoire que le .fichier jrxml.
Avec maven c'est automatique:
<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>
J'utilise iReport 2.0.2 Pour générer le fichier jasper.
Je n'ai pas trouvé le logo hammer, mais j'ai un menu create > compile
dans la barre de menus qui crée le fichier jasper dans le dossier iReport program files:
IReport Logs: "Compilation vers le fichier... .\ SalesOrderItemsSubreportA4.jasper ... > C:\Program fichiers\JasperSoft\iReport-2.0.2\SalesOrderItemsSubreportA4.java "
Si vous utilisez iReport vous pouvez le faire facilement.
- Lorsque vous cliquez sur Aperçu, il sera automatiquement compilé.
- Il y a une option pour le faire complie. Vous pouvez compiler en sélectionnant la page, puis clic droit, vous aurez l'option de compilation.
En utilisant iReport designer 5.6.0, si vous souhaitez compiler plusieurs fichiers jrxml sans prévisualiser-allez dans Outils - > Outil de traitement massif. Sélectionnez le type D'élaboration comme "compiler des fichiers", sélectionnez le dossier où tous vos rapports jrxml sont stockés, et compilez-les dans un lot.
Dans eclipse,
- installezJaspersoft Studio pour eclipse.
- cliquez-Droit sur le
.jrxml
fichier et sélectionnezOpen with JasperReports Book Editor
- Ouvrez l'onglet
Design
pour le fichier.jrxml
. - en haut de la fenêtre, vous pouvez voir l'
Compile Report
icône.
Utilisation De La Version 5.1.0:
Cliquez simplement sur Aperçu et il va créer un YourReportName.jasper pour vous dans le même répertoire de travail.
- Ouvrez votre .fichier jrxml dans iReport Designer.
- Ouvrez L'inspecteur de rapport (fenêtre - > Inspecteur de rapport).
- cliquez avec le bouton droit sur le nom de votre rapport en haut de l'inspecteur, puis cliquez sur "compiler le rapport".
Vous pouvez également prévisualiser votre rapport afin qu'il soit automatiquement compilé.
- 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>