How do I compile jrxml to get jasper?

JavaJasper ReportsIreportJaspersoft Studio

Java Problem Overview


I have jrxml file, I want to compile this to get .jasper. How do I compile and get that jasper file?

Java Solutions


Solution 1 - Java

There are three ways to compile jrxml to jasper.

  1. You can do direct compile via compile button (hammer logo) on iReport designer.

  2. You can use ant to compile as shown in the Ant Compile Sample.

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

    Below is the report compile task on my current project.

    alt text

    addition from Daniel Rikowski :

  3. You can also use the JasperCompileManager class to compile from your java code.

     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
    

Solution 2 - Java

For anyone coming across this question who uses Jaspersoft Studio (which, I think, is replacing iReports; it's quite similar, still freeware, just based on eclipse), look for the "Compile Report" icon on top of the editor area of your .jrxml file. Its icon, first in that line of icons, is a file with binary numbers on it (at least in version 5.6.2):

Jaspersoft Studio - compile report

Clicking this icon will generate the .jasper file in the same directory as the .jrxml file.

Solution 3 - Java

with maven it is automatic:

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

Solution 4 - Java

I'm using iReport 2.0.2 to generate the jasper file.

I didn't found the hammer logo, but I have a menu create > compile in the menu bar who create the the jasper file in the iReport program files folder :

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

Solution 5 - Java

Using iReport designer 5.6.0, if you wish to compile multiple jrxml files without previewing - go to Tools -> Massive Processing Tool. Select Elaboration Type as "Compile Files", select the folder where all your jrxml reports are stored, and compile them in a batch.

Solution 6 - Java

If you are using iReport you can easily do it.

  1. When you click preview it will automatically compile.
  2. There is an option to make it complie. You can compile by selecting the page then right click you will get the compile option.

Solution 7 - Java

In eclipse,

  • Install Jaspersoft Studio for eclipse.
  • Right click the .jrxml file and select Open with JasperReports Book Editor
  • Open the Design tab for the .jrxml file.
  • On top of the window you can see the Compile Report icon.

Solution 8 - Java

Using Version 5.1.0:

Just click preview and it will create a YourReportName.jasper for you in the same working directory.

Solution 9 - Java

  1. Open your .jrxml file in iReport Designer.
  2. Open the Report Inspector (Window -> Report Inspector).
  3. Right-click your report name on the top of the inspector and then click "Compile Report".

You can also Preview your report so it's automatically compiled.

Solution 10 - Java

if you are using the eclipse IDE you just do a right click in the .jrxml file and then click the compile option

Solution 11 - Java

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

Solution 12 - Java

In iReport 5.5.0, just right click the report base hierarchy in Report Inspector Bloc Window viewer, then click Compile Report

In iReport, just right click the report base hierachy in Report

You can now see the result in the console down. If no Errors, you may see something like this.

enter image description here

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionMohamed SalighView Question on Stackoverflow
Solution 1 - JavaSal PrimaView Answer on Stackoverflow
Solution 2 - JavaAmos M. CarpenterView Answer on Stackoverflow
Solution 3 - JavaleccionesonlineView Answer on Stackoverflow
Solution 4 - JavaGrégoryView Answer on Stackoverflow
Solution 5 - JavaVivekView Answer on Stackoverflow
Solution 6 - JavaPraveen P MoolekandathilView Answer on Stackoverflow
Solution 7 - JavaLuckyView Answer on Stackoverflow
Solution 8 - JavaAliView Answer on Stackoverflow
Solution 9 - Javarickbala_View Answer on Stackoverflow
Solution 10 - JavaNatashaView Answer on Stackoverflow
Solution 11 - JavaHardik DobariyaView Answer on Stackoverflow
Solution 12 - JavalevolutionnisteView Answer on Stackoverflow