Building JasperReports Server Source Code

 

This document describes how to build from a command line shell in Linux or Windows. It does not address the process of building within an IDE (Integrated Development Environment) such as Eclipse or IntelliJ.

Introduction to Buildomatic Source Build Scripts

The JasperReports Server source code comes with a set of configuration and build scripts based on Apache Ant known as the buildomatic scripts. You'll find these scripts in the following directory:

<js-src>/jasperserver/buildomatic

The buildomatic scripts automate most aspects of configuring, building, and deploying the source code. Apache Ant is bundled into the source code distribution to simplify the setup.

Downloading and Unpacking JasperReports Server Source Code

Downloading the Source Archive

Download the source code package zip for the commercial version of JasperReports Server from the Jaspersoft technical support site. The download package is jasperreports-server-6.3.0-src.zip and can be downloaded here:

http://www.jaspersoft.com/support_login.php

For access to the site, contact technical support or your sales representative.

Unpacking the Source Archive

Unpack the jasperreports-server-6.3.0-src.zip file to a directory location, such as C:\ or /home/<user>. The resulting location is referred to as <js-src> in this document.

Windows:

<js-src> example is C:\jasperreports-server-6.3.0-src

Linux:

<js-src> example is /home/<user>/jasperreports-server-6.3.0-src

Source Code Package Structure

After you've unpacked the zip file, the folder directory has the following structure:

Directory or file

Description

<js-src>/apache-ant

Bundled version of Apache Ant build tool

<js-src>/jasperserver

JasperReports Server open source code for core functionality

<js-src>/jasperserver-pro

JasperReports Server source code for commercial functionality

<js-src>/jasperserver-repo

Dependent jar files (not readily available publicly)

<js-src>/tibco-driver-repo Dependent jar files for Progress data connectivity drivers

<jssrc>/jasperserver.license

Evaluation license used with the jasperserver-pro war in your application server

Check Apache Ant

The Apache Ant tool is bundled (pre-integrated) into the source code distribution package so you don't need to download or install Ant to run the buildomatic scripts. For example:

cd <js-src>/jasperserver/buildomatic

js-ant help   or

./js-ant help (Linux)

If you don't use the bundled version of Apache Ant, we recommend version 1.9.4 or later. Versions earlier than 1.8.1 are not compatible.

Configuring the Buildomatic Properties

The buildomatic scripts are found at the following location:

<js-src>/jasperserver/buildomatic

Use the buildomatic scripts to build the source code and configure settings for a supported application server and database. The file for configuring these settings is default_master.properties. The source distribution includes a properties file for each type of database. You'll add your specific settings to this file and rename it to:

default_master.properties

When specifying paths with Apache Ant and Java in Windows, a single forward slash (/) normally works the same as “escaped” double backlashes (\\).

PostgreSQL

1. Go to the buildomatic directory in the source distribution:

cd <js-src>/jasperserver/buildomatic

2. Copy the PostgreSQL specific file to the current directory and change its name to
default_master.properties as shown below:

Windows:

copy sample_conf\postgresql_master.properties default_master.properties

Linux:

cp sample_conf/postgresql_master.properties default_master.properties
3. Edit the new default_master.properties file and set the following properties for your local environment:

Property

Examples

appServerType

appServerType=tomcat8 (or tomcat5/6/7, jboss/-as-7, glassfish2/3, 
skipAppServerCheck)

appServerDir

appServerDir = C:\\Program Files\\Apache Software Foundation\\Tomcat 7.0appServerDir = /home/<user>/apache-tomcat-7.0.26

dbHost

dbHost=localhost

dbUsername

dbUsername=postgres

dbPassword

dbPassword=postgres

maven

maven = C:\\apache-maven-3.0.4\\bin\\mvn.batmaven = /home/<user>/apache-maven-3.0.4/bin/mvn

js-path

js-path = C:\\jasperreports-server-<span class="JasperBookVariablesBookSourceVersion">6.3.0</span>-src\\jasperserverjs-path = /home/<user>/jasperreports-server-<span class="JasperBookVariablesBookSourceVersion">6.3.0</span>-src/jasperserver

js-pro-path

js-pro-path = C:\\jasperreports-server-<span class="JasperBookVariablesBookSourceVersion">6.3.0</span>-src\\jasperserver-projs-pro-path = /home/<user>/jasperreports-server-<span class="JasperBookVariablesBookSourceVersion">6.3.0</span>-src/jasperserver-pro

maven.build.type

maven.build.type=repo

tibco-driver-path

tibco-driver-path = C:\\jasperreports-server-6.3.0-src\\tibco-driver-repo

tibco-driver-path = /home/<user>/jasperreports-server-6.3.0-src/tibco-driver-repo

deploy-tibco-drivers deploy-tibco-drivers = true

repo-path

repo-path = C:\\jasperreports-server-<span class="JasperBookVariablesBookSourceVersion">6.3.0</span>-src\\jasperserver-reporepo-path = /home/<user>/jasperreports-server-<span class="JasperBookVariablesBookSourceVersion">6.3.0</span>-src/jasperserver-repo

MySQL

1. Go to the buildomatic directory in the source distribution:

cd <js-src>/jasperserver/buildomatic

2. Copy the MySQL specific file to the current directory and change its name to
default_master.properties:

Windows:

copy sample_conf\mysql_master.properties default_master.properties

Linux:

cp sample_conf/mysql_master.properties default_master.properties

3. Edit the new default_master.properties file and set the following properties to your local environment:

Property

Examples

appServerType

appServerType=tomcat8 (or tomcat5/6/7, jboss, or glassfish2/3)

appServerDir

<span class="Code">appServerDir = </span>C:\\Program Files\\Apache Software Foundation\\Tomcat 7.0<span class="Code">appServerDir = /home/<user>/apache-tomcat-7.0.26</span>

dbHost

<span class="Code">dbHost = localhost</span>

dbUsername

<span class="Code">dbUsername = root</span>

dbPassword

<span class="Code">dbPassword = password</span>
maven maven = C:\\apache-maven-3.0.4\\bin\\mvn.batmaven = /home/<user>/apache-maven-3.0.4/bin/mvn

js-path

js-path = C:\\jasperreports-server-<span class="JasperBookVariablesBookSourceVersion">6.3.0</span>-src\\jasperserverjs-path = /home/<user>/jasperreports-server-<span class="JasperBookVariablesBookSourceVersion">6.3.0</span>-src/jasperserver

js-pro-path

js-pro-path = C:\\jasperreports-server-<span class="JasperBookVariablesBookSourceVersion">6.3.0</span>-src\\jasperserver-projs-pro-path = /home/<user>/jasperreports-server-<span class="JasperBookVariablesBookSourceVersion">6.3.0</span>-src/jasperserver-pro

maven.build.type

maven.build.type=repo

deploy-tibco-drivers deploy-tibco-drivers = true
tibco-driver-path

tibco-driver-path = C:\\jasperreports-server-6.3.0-src\\tibco-driver-repo

tibco-driver-path = /home/<user>/jasperreports-server-6.3.0-src/tibco-driver-repo

repo-path

repo-path = C:\\jasperreports-server-<span class="JasperBookVariablesBookSourceVersion">6.3.0</span>-src\\jasperserver-reporepo-path = /home/<user>/jasperreports-server-<span class="JasperBookVariablesBookSourceVersion">6.3.0</span>-src/jasperserver-repo

Additional Databases

For default_master.properties configurations for other databases, please see Source Build Setup for Other Databases.

Build Source Code

Now that you've set up your default_master.properties file, you can build the source code.

To build JasperReports Server:

1. Set up the default_master.properties file for your environment (as described above).
2. Start the database server.
3. Stop the application server unless it’s GlassFish, which should be running.
4. Run the commands shown below:

After executing each Ant target in “Commands for Building JasperReports Server”, look for the message BUILD SUCCESSFUL.

Commands for Building JasperReports Server

Commands

Description

cd <js-src>/jasperserver/buildomatic

js-ant clean-config

(Optional) Clears the buildomatic/build_conf/default directory.

js-ant gen-config (Optional) Rebuilds the buildomatic/build_conf/default directory.
js-ant add-jdbc-driver

Used for loading the databases

js-ant build-ce

Builds the community source code

js-ant build-pro

Builds the commercial source code

js-ant create-load-js-db-pro

(Optional) Creates and loads the jasperserver database, imports core bootstrap data

js-ant deploy-webapp-pro

(Optional) Deploys the jasperserver-pro war file to the application server

Set Java Options and jasperserver License

JasperReports Server needs Java memory options that are larger than the standard defaults. Additionally, a jasperserver.license is required to execute at runtime.

Set Increased JAVA_OPTS Settings

JasperReports Server needs greater heap and permgen memory settings for all functionality to operate. For testing your deployed JasperServer you should set your JAVA_OPTS to the same default values described in the JasperReports Server Installation Guide. For a 64-bit system the settings would be similar to the following:

Linux:

          export JAVA_OPTS="$JAVA_OPTS -Xms1024m -Xmx2048m -XX:PermSize=32m -XX:MaxPermSize=512m"

Windows:

          set JAVA_OPTS=%JAVA_OPTS% -Xms1024m -Xmx2048m -XX:PermSize=32m -XX:MaxPermSize=512m

You should add these settings to your application server startup script:

Apache Tomcat:

<tomcat>/bin/setclasspath.sh

(.bat for Windows)

JBoss:

<jboss>/bin/run.sh

(.bat for Windows)

For details on setting Java memory options, please see Setting Java JVM Options.

Put jasperserver.license in Place

JasperReports Server Commercial edition requires a license to run. A 30 day evaluation license is provided in the source code zip download package. You can use this evaluation license to get started and then replace it with one you request from Jaspersoft technical support or from your sales representative.

JasperReports Server looks for the license file in the home directory of the user running the application server, so copy the license to that location. You'll find the license in the root of the source package:

<js-src>/jasperserver.license

For more information on license configuration, please see Configuring the JasperReports Server License File.

Copy jasperserver.license to the appropriate folder listed the table below.

License Locations

Operating System

Linux

/home/<user>/

Mac OSX

/Users/<user>/

Windows 7 using the bundled Tomcat

C:\Users\<user>\

Windows 7 using an existing Tomcat Windows service

C:\

Windows XP

C:\Documents and Settings\<user>\

Windows 2003

C:\Documents and Settings\<user>\

Windows 2008

C:\Documents and Settings\<user>\

Starting JasperReports Server

You can now start your application server or restart GlassFish. Your database should already be running.

Logging into JasperReports Server

You can now log into JasperReports Server through a web browser:

Enter the login URL with the default port number:

http://localhost:8080/jasperserver-pro

Log into JasperReports Server as superuser or jasperadmin:

User ID: superuser Password: superuser

User ID: jasperadmin Password: jasperadmin

If you're unable to log in or have other problems, refer to Troubleshooting, or the JasperReports Server Installation Guide, which provides additional troubleshooting information.

JasperReports Server Log Files

If you encounter any startup or runtime errors you can check the application server log files. For Apache Tomcat you'll find the log file here:

<tomcat>/logs/catalina.out

Also check the jasperserver.log file. You can increase the debug output level by editing the log4j.properties file.

The JasperReports Server runtime log is here:

<tomcat>/webapps/jasperserver-pro/WEB-INF/logs/jasperserver.log

The log4j.properties file is here:

<tomcat>/webapps/jasperserver-pro/WEB-INF/log4j.properties

Version: 
Feedback