+ All Categories
Home > Documents > Jasperreports Server Cp Source Build Guide 1

Jasperreports Server Cp Source Build Guide 1

Date post: 03-Jun-2018
Category:
Upload: claudio-tamietto
View: 230 times
Download: 0 times
Share this document with a friend

of 40

Transcript
  • 8/12/2019 Jasperreports Server Cp Source Build Guide 1

    1/40

    JASPERREPORTSSERVER

    COMMUNITYPROJECT

    SOURCEBUILDGUIDE

    RELEASE5.1.0

    http://community.jaspersoft.com

    http://www.jaspersoft.com/http://www.jaspersoft.com/http://www.jaspersoft.com/
  • 8/12/2019 Jasperreports Server Cp Source Build Guide 1

    2/40

    JasperReports Server Source Build Guide

    2

    Copyright 2013 Jaspersoft Corporation. All rights reserved. Printed in the U.S.A. Jaspersoft, the Jaspersoft logo, Jaspersoft

    iReport Designer, JasperReports Library, JasperReports Server, Jaspersoft OLAP, and Jaspersoft ETL are trademarks and/or

    registered trademarks of Jaspersoft Corporation in the United States and in jurisdictions throughout the world. All other

    company and product names are or may be trade names or trademarks of their respective owners.

    This is version 0513-JSO51-24 of theJasperReports Server Source Build Guide.

  • 8/12/2019 Jasperreports Server Cp Source Build Guide 1

    3/40

    3

    TABLEOFCONTENTS

    Chapter 1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

    1.1 Supported Build Configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

    1.2 JasperReports Server Source Code Archives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

    Chapter 2 Components Required for Source Build . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

    2.1 Checking Your Java JDK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

    2.2 Installing Maven . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

    2.3 Checking Your Application Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

    2.4 Checking Your Database Instance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

    Chapter 3 Building JasperReports Server Source Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

    3.1 Introduction to Buildomatic Source Build Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

    3.2 Downloading and Unpacking JasperReports Server Source Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

    3.2.1 Downloading the Source Archive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

    3.2.2 Unpacking the Source Archive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

    3.2.3 Source Code Package Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

    3.3 Checking Apache Ant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

    3.3.1 Using Your Own Apache Ant: Get ant-contrib.jar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

    3.4 Configuring the Buildomatic Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

    3.4.1 PostgreSQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

    3.4.2 MySQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

    3.5 Building JasperReports Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

    3.5.1 Detailed Description of the deploy-webapp-ce Target . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

    3.5.2 Running Ant in Debug Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

    3.5.3 Refreshing Your Buildomatic Property Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

    3.6 Running Integration-Tests (Optional) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

    3.7 Setting Java JVM Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

    3.8 Starting Your Application Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

    3.9 Logging into JasperReports Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

    3.10 JasperReports Server Log Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

  • 8/12/2019 Jasperreports Server Cp Source Build Guide 1

    4/40

  • 8/12/2019 Jasperreports Server Cp Source Build Guide 1

    5/40

    5

    C.1.1 Name Undefined Error (Old Ant Version) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

    C.1.2 Linux/Mac Error with Maven /usr/boot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

    C.2 Database Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

    C.3 Maven Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

    C.3.1 Maven Binary Versions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

    C.3.2 Clear JasperReports Server Artifacts in Maven Local Repository . . . . . . . . . . . . . . . . . . . . 30

    C.3.3 Clear Entire Local Repository . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31C.3.4 Maven Warnings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

    C.3.5 Maven Error: Transferring Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

    C.3.6 Maven Build Error: Failed to Resolve Artifact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

    C.4 Other Build Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

    C.4.1 Error When Building Database Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

    C.4.2 Error Message to Ignore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

    C.5 PostgreSQL 8.1 Error on Sugarcrm DB Load . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

  • 8/12/2019 Jasperreports Server Cp Source Build Guide 1

    6/40

    6

    JasperReports Server Source Build Guide

  • 8/12/2019 Jasperreports Server Cp Source Build Guide 1

    7/40

    Introduction

    1

    CHAPTER1 INTRODUCTION

    JasperReports Server builds on JasperReports as a comprehensive family of Business Intelligence (BI) products, providing

    robust static and interactive reporting, report server, and data analysis capabilities. These capabilities are available as eitherstand-alone products, or as part of an integrated end-to-end BI suite utilizing common metadata and providing shared services,

    such as security, a repository, and scheduling. The server exposes comprehensive public integration interfaces enabling

    seamless integration with other applications and the capability to easily add custom functionality.

    This guide assists such developers in obtaining, setting up, building, and running JasperReports Server from its source files.

    Jaspersoft provides several other source of information to help extend your knowledge of JasperReports Server:

    Our Ultimate Guides document advanced features and configuration. They also include best practice recommendations

    and numerous examples. The guides are available as downloadable PDFs. Community project users can purchase

    individual guides or bundled documentation packs from the Jaspersoft online store. Commercial customers can download

    them freely from the support portal.

    Our free Business Intelligence Tutorialslet you learn at your own pace, and cover topics for developers, system

    administrators, business users, and data integration users. The tutorials are available online from Professional Services

    section of our website.

    Our free samples, which are installed with JasperReports, iReport, and JasperReports Server, are documented online. The

    samples documentation can be found on our community website.

    1.1 Supported Build Configurations

    The following table lists the target configurations that can be built from the source:

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

    Appl ication Server Database

    Tomcat, JBoss or GlassFish

    PostgreSQL

    MySQL

    http://www.jaspersoft.com/ultimate-guideshttp://support.jaspersoft.com/http://www.jaspersoft.com/business-intelligence-tutorialshttp://www.jaspersoft.com/professional-serviceshttp://www.jaspersoft.com/professional-serviceshttp://www.jaspersoft.com/professional-serviceshttp://www.jaspersoft.com/professional-serviceshttp://community.jaspersoft.com/http://community.jaspersoft.com/http://www.jaspersoft.com/professional-serviceshttp://www.jaspersoft.com/professional-serviceshttp://www.jaspersoft.com/professional-serviceshttp://www.jaspersoft.com/professional-serviceshttp://www.jaspersoft.com/business-intelligence-tutorialshttp://support.jaspersoft.com/http://www.jaspersoft.com/ultimate-guides
  • 8/12/2019 Jasperreports Server Cp Source Build Guide 1

    8/40

    2

    JasperReports Server Source Build Guide

    1.2 JasperReports Server Source Code Archives

    The following table lists the source code archive files for JasperReports Server:

    This document refers to the location where you unpack these archive files as .

    File Description Documented In

    jasperreports-server-cp-5.1.0-src.zip JasperReports Server source code Chapter 2Chapter 3

    jasperjpivot-5.0.0-src.zip JasperJPivot source code AppendixA.1

    jasperserver-portlet--src.zip JasperReports Server Portlet source code AppendixA.2

  • 8/12/2019 Jasperreports Server Cp Source Build Guide 1

    9/40

    Components Required for Source Build

    3

    CHAPTER2 COMPONENTSREQUIREDFORSOURCEBUILD

    The components and versions listed in this section are required in order to build and run JasperReports Server:

    Checking Your Java JDK Installing Maven

    Checking Your Application Server

    Checking Your Database Instance

    2.1 Checking Your Java JDK

    The JasperReports Server source code can be compiled under Java 1.6 or 1.7. JasperReports Server does not run with versions

    of Java earlier than 1.6.

    Note: As of release 4.5.0 Java 1.5 is no longer supported.

    To check the version of your JDK (Java Development Kit), run the following command:

    j avac - ver si on

    To download the Java JDK, follow the instructions found at the Java web site: http://www.oracle.com/technetwork/java/

    javase/downloads/index.html.

    The Oracle/Sun JDK is the certified Java platform for JasperReports Server. This source build procedure has been specifically

    tested with the Oracle/Sun JDK. Additionally, JasperReports Server has been tested with OpenJDK 1.6.

    2.2 Installing Maven

    Apache Maven is used to compile, build, and package the JasperReports Server source code. The JasperReports Serverdevelopment team uses Maven because of its capability to manage third party tool dependencies via remote, online

    repositories. Third party tools are typically packaged as Java archive files (JARs). For more information about Maven, see:

    http://maven.apache.org

    Download and install Maven from the Maven website: http://maven.apache.org/download.html#installation

    http://www.oracle.com/technetwork/java/javase/downloads/index.htmlhttp://maven.apache.org/http://maven.apache.org/download.html#installationhttp://maven.apache.org/download.html#installationhttp://maven.apache.org/http://www.oracle.com/technetwork/java/javase/downloads/index.html
  • 8/12/2019 Jasperreports Server Cp Source Build Guide 1

    10/40

    4

    JasperReports Server Source Build Guide

    If the maven executable is not in maven_home, add maven.home as a property in default_master.properties. maven.home = /

    usr/share/maven This might be necessary when maven is installed via a package manager.

    To execute mvnfrom the command line, put the maven binary (mvnor mvn. exe) in your environment PATH. To check your

    Maven version, run this command:

    mvn - ver si on

    The JasperReports Server source code has been test-built with Maven version 3.0.4. Jaspersoft has found that Maven version

    3.0.3 will get errors resolving dependencies; therefore this version should not be used. For information about supported Maven

    versions, see section C.3, Maven Troubleshooting, on page 30.

    2.3 Checking Your Application Server

    To run JasperReports Server, you need an application server on the same computer as JasperReports Server. Stop the

    application server during the build and installation procedures, except for GlassFish, which must be running.

    The application servers supported by this build procedure are listed in section 1.1, Supported Build Configurations, on

    page 1. JasperReports Server runs under additional application servers. For information about all supported application

    servers, see theJasperReports Server Installation Guide.

    2.4 Checking Your Database Instance

    To run JasperReports Server, you need a database instance. Run the database server during the installation and build

    procedures.

    The databases supported by this build procedure are listed in section 1.1, Supported Build Configurations, on page 1.

  • 8/12/2019 Jasperreports Server Cp Source Build Guide 1

    11/40

    Building JasperReports Server Source Code

    5

    CHAPTER3 BUILDINGJASPERREPORTSSERVERSOURCECODE

    The following sections include complete instructions for building the JasperReports Server source code.

    3.1 Introduction to Buildomatic Source Build Scripts

    The JasperReports Server source code comes with a set of configuration and build scripts based on Apache Ant and known as

    the buildomatic scripts. These scripts are found in the following directory:

    /jasperserver/buildomatic

    The buildomatic scripts automate most aspects of the configuring, building, and deploying the source code. Apache Ant is

    bundled into the source code distribution to simplify the setup.

    3.2 Downloading and Unpacking JasperReports Server Source Code

    3.2.1 Downloading the Source Archive

    Download source code for JasperReports Server from the Jaspersoft Community site:

    http://community.jaspersoft.com

    The source code package is a ZIP archive named jasperreports-server-cp-5.1.0-src.zip.

    3.2.2 Unpacking the Source Archive

    Unpack the jasperreports-server-5.1.0-src.zip file to a directory location, such as C:\ or /home/. The resulting location is

    referred to as in this document.

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

    Windows: example is C:\jasperreports-server--cp-5.1.0-src

    Linux: example is /home//jasperreports-server--cp-5.1.0-src

  • 8/12/2019 Jasperreports Server Cp Source Build Guide 1

    12/40

    6

    JasperReports Server Source Build Guide

    3.2.3 Source Code Package Structure

    After unpacking, the source directory has the following structure:

    3.3 Checking Apache Ant

    The Apache Ant tool is bundled (pre-integrated) into the source code distribution package so you do not need to download or

    install Ant in order to run the buildomatic scripts. For example:

    cd / j asperser ver / bui l domat i c

    j s- ant hel p or

    . / j s- ant hel p ( Li nux)

    3.3.1 Using Your Own Apache Ant: Get ant-contrib.jar

    Alternatively, if you prefer to use your own version of Apache Ant, get the file ant-contrib-.jar. This JAR enables

    conditional logic in Ant scripts.

    1. Make sure you are using Apache Ant 1.8.1 or higher.

    2. Copy the file ant-contrib-1.0b3.jar from the /apache-ant/lib directory to your /lib directory:

    From:

    /apache-ant/lib/ant-contrib.jar or

    /jasperserver/buildomatic/extra-jars/ant-contrib.jar

    To:

    /lib (General example)

    C:\apache-ant-1.8.1\lib (Windows example)

    /usr/share/java/apache-ant/lib (Linux example)

    /usr/share/ant/lib (Mac example)

    3.4 Configuring the Buildomatic Properties

    The buildomatic scripts are found at the following location:

    / j asper ser ver / bui l domat i c

    The buildomatic scripts are used to build JasperReports Server source code and to configure proper settings for supported

    application servers and databases. The file for configuring these settings is def aul t _mast er . pr opert i es. The sourcedistribution includes a properties file that is specific to each type of database. You add your specific settings to this file and

    save it as your def aul t_mast er . proper t i es file.

    Directory or file Description

    /apache-ant Bundled version of Apache Ant

    /jasperserver JasperReports Server open source code for general features

    /jasperserver-repo Dependent jar files (not readily available publicly)

    In Java properties files, backslashes in Windows paths can be escaped with a second backslash (\\).

    When using Apache Ant, the single forward slash (/) also works on most Windows systems.

    Anytime you modify the def aul t _mast er . pr oper t i es, your configuration settings get automatically re-generatedinto the buildomatic/build_conf directory.

  • 8/12/2019 Jasperreports Server Cp Source Build Guide 1

    13/40

    Building JasperReports Server Source Code

    7

    3.4.1 PostgreSQL

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

    cd / j asperser ver / bui l domat i c

    2. Copy the appropriate file to the current directory and change its name at the same time:

    3. Edit the new def aul t _mast er . pr opert i esfile and set the following properties to your local settings:

    3.4.2 MySQL

    1. Download the JDBC driver, mysql-connector-java-5.1.17-bin.jar or later from this web site:

    http://dev.mysql.com/downloads/connector/j/

    Place the MySQL driver in /jasperserver/buildomatic/conf_source/db/mysql/jdbc

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

    cd / j asperser ver / bui l domat i c

    3. Copy the appropriate file to the current directory and change its name at the same time:

    4. Edit the new def aul t _mast er . pr opert i esfile and set the following properties to your local settings:

    Windows: copy sampl e_conf \ post gresql _mast er . pr oper t i es def aul t _mast er . proper t i es

    Linux: cp sampl e_conf / post gr esql _mast er . proper t i es def aul t _mast er . proper t i es

    Property Examples

    appServerType appServerType=t omcat 7(t omcat 5/ 6, j boss/ - as- 7, gl assf i sh2/ 3,ski pAppServerCheck)

    appServerDi r appServerDi r = C: \ \ Progr am Fi l es\ \ Apache Sof t ware Foundat i on\ \ Tomcat 7. 0

    appServerDi r = / home/ user / apache- t omcat - 7. 0. 26

    dbHost dbHost=l ocal host

    dbUser name dbUser name=post gres

    dbPassword dbPassword=postgr es

    j s- path j s- path = C: \ \ j asper r epor t s- ser ver - 5. 1. 0- sr c\ \ j asper ser ver

    j s- path = / home/ / j asperr eport s- ser ver - 5. 1. 0- sr c/ j asperser ver

    j s- pro- path ( l eave t hi s unchanged)

    r epo- pat h r epo- pat h = C: \ \ j asper r epor t s- ser ver - 5. 1. 0- sr c\ \ j asper ser ver - r epo

    r epo- pat h = / home/ / j asper r epor t s- ser ver - 5. 1. 0- sr c/ j asper ser ver- r epo

    As of release 4.2.0, the source packaging no longer contains a MySQL JDBC driver in the buildomatic folder tree.Therefore, in order to complete the source build steps (which includes creating the jasperserver database), download

    a MySQL JDBC driver.

    Windows: copy sampl e_conf \ mysql _mast er . proper t i es def aul t_mast er . proper t i es

    Linux: cp sampl e_conf / mysql _mast er . proper t i es def aul t _mast er . proper t i es

    Property Examples

    appServerType appServerType = t omcat 7 ( or t omcat 5/ 6, j boss, or gl assf i sh2/ 3)

    appServerDi r appServerDi r = C: \ \ Progr am Fi l es\ \ Apache Sof t ware Foundat i on\ \ Tomcat 7. 0

    appServerDi r = / home/ user / apache- t omcat - 7. 0. 26

    dbHost dbHost = l ocal host

    dbUsername dbUsername = r oot

  • 8/12/2019 Jasperreports Server Cp Source Build Guide 1

    14/40

    8

    JasperReports Server Source Build Guide

    3.5 Building JasperReports ServerNow that your def aul t _mast er . proper t i esfile has been edited, you can build the JasperReports Server source code.

    To build JasperReports Server:

    1. Modify def aul t_mast er . proper t i es to match your environment. For more information, see 3.4.1, PostgreSQL,

    on page 7.

    2. Start the database server.

    3. Stop the application server unless its GlassFish, which should be running.

    4. Run the commands listed in Table 3-1.

    After executing each Ant target in Table 3-1, look for the message BUILD SUCCESSFUL.

    dbPassword dbPassword = passwor d

    maven. j dbc.groupI d

    maven. j dbc. groupI d = mysql

    maven. j dbc.ar t i f actI d

    maven. j dbc. ar t i f act I d = mysql - connect or - j ava

    maven. j dbc.vers i on

    maven. j dbc. versi on = 5. 1. 17- bi n

    j s- path j s- path = C: \ \ j asper r epor t s- ser ver - 5. 1. 0- sr c\ \ j asper ser ver

    j s- path = / home/ / j asperr eport s- ser ver - 5. 1. 0- sr c/ j asperser ver

    j s- pro- path ( l eave t hi s unchanged)

    r epo- pat h r epo- pat h = C: \ \ j asper r epor t s- ser ver - 5. 1. 0- sr c\ \ j asper ser ver - r epo

    r epo- pat h = / home/ / j asper r epor t s- ser ver - 5. 1. 0- sr c/ j asper ser ver- r epo

    Table 3-1 Commands for Bui ld ing JasperReports ServerCommands Description

    cd / j asperser ver / bui l domat i c

    j s- ant bui l d- ce Builds the Community Project source code.

    j s- ant cr eate- l oad-al l - dbs- ce

    or

    j s- ant cr eate- l oad- j s- db- ce

    Creates and loads the jasperserver database.

    Imports core bootstrap resources into the jasperserverrepository.

    Creates and loads sample databases.

    Imports sample resources into the jasperserver repository.

    Do not run this command if you ran

    cr eat e- l oad- al l - dbs- ce.

    Creates and loads the jasperserver database.

    Imports core bootstrap resources into the jasperserverrepository.

    Does not loadsample data or sample databases.

    j s- ant depl oy- webapp- ce Deploys JasperReports Server to the application server.

    Property Examples

  • 8/12/2019 Jasperreports Server Cp Source Build Guide 1

    15/40

    Building JasperReports Server Source Code

    9

    3.5.1 Detailed Description of the deploy-webapp-ce Target

    The depl oy- webapp- cetarget carries out the following actions in your application server environment:

    Deletes any existingj asper ser ver WAR file.

    Copies the JDBC driver to the appropriate application server directory.

    Copies additional JDBC drivers to the application server to support general DataSource creation in the UI

    Adds a data source definition to the appropriate application server directory.

    Deploys the newly builtj asper ser ver WAR file. Deletes files within the application server work directory (to clear out compiled JSP files and other cached files).

    Under Tomcat, delete the old version of /conf/Catalina/Localhost/jasperserver.xml if present.

    3.5.2 Running Ant in Debug Mode

    Ant can be run with a -v (verbose) or a -d (debug) option to help with troubleshooting, for example:

    j s- ant - v bui l d- ce

    3.5.3 Refreshing Your Buildomatic Property Settings

    If you change your def aul t _mast er . proper t i esfile, buildomatic will automatically clean and regenerate all

    configuration settings. If you want to explicity clean and regenerate your settings manually you can run the followingcommands:

    3.6 Running Integration-Tests (Optional)

    After you successfully build the source code, you can choose to run the integration-tests. Currently, running the integration-

    tests requires that you drop and recreate thej asper ser ver database before executing the tests.

    To run integration-tests:

    1. Make the buildomatic directory your current directory:

    cd / j asperser ver / bui l domat i c

    2. Enter these commands:

    j s- ant add- j dbc- dr i ver

    j s- ant drop- j s- db

    j s- ant cr eate- j s- db

    j s- ant i ni t - j s- db- ce

    j s- ant r un- i ntegrat i on- t est s- ce

    Commands Description

    j s- ant cl ean- conf i g

    j s- ant gen- conf i g

    Clears the buildomatic/build_conf/default directory.

    Rebuilds the configuration settings

    Additionally, anytime you modify the def aul t _mast er . pr opert i es, configuration settings get automatically re-generated into the buildomatic/build_conf directory.

  • 8/12/2019 Jasperreports Server Cp Source Build Guide 1

    16/40

    10

    JasperReports Server Source Build Guide

    Run/create production data:

    After doing the steps above, you can also run the process that creates the Core and Sample Data used by JasperReports Server.

    To run this process do the following:

    j s- ant r un- product i on- data- ce

    The r un- pr oduct i on- dat a-ceprocess will put Core and Sample resources into yourj asper ser ver database.

    3.7 Setting Java JVM Options

    For JasperReports Server to run effectively, you must increase the Java JVM runtime memory options. For more information,

    including the JAVA_OPTS settings, refer to Appendix B, Java JVM Settings, on page 27.

    3.8 Starting Your Application Server

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

    3.9 Logging into JasperReports Server

    You can now login to JasperReports Server through a web browser. If you specified all the default values when setting up

    JasperReports Server, log in as follows:

    Enter the login URL with the default port number:

    http://localhost:8080/jasperserver

    Log into JasperReports Server as superuser or jasperadmin:

    User ID: superuser Password: super user

    User ID:j asper admi n Password:j asperadmi n

    After logging into JasperReports Server, you can create reports, run reports, create dashboards, and create Domains. Refer to

    theJasperReports Server User Guide for more information about the application.

    If you are unable to login or have other problems, refer to Appendix C, Troubleshooting, on page 29, or refer to the

    JasperReports Server Installation Guide, which provides additional troubleshooting information.

    3.10 JasperReports Server Log Files

    The JasperReports Server runtime log is written to the following Tomcat location (for example):/ webapps/ j asper ser ver / WEB- I NF/ l ogs/ j asper ser ver . l og

    The log4j logging level can be controlled by configuring the log4j.properties file in the following location:

    / webapps/ j asperser ver / WEB- I NF/ l og4j . proper t i es

    This step is required in order to run JasperReport Server. If you skip this step, you might get an error about Permgenmemory.

  • 8/12/2019 Jasperreports Server Cp Source Build Guide 1

    17/40

    Additional Buildomatic Information

    11

    CHAPTER4 ADDITIONALBUILDOMATICINFORMATION

    The Ant-based buildomatic scripts contain support files for the setup and configuration of a number of databases and

    application servers. This chapter gives the locations of many of these files.This chapter also contains details about the cr eate- l oad- al l - dbs- ceand creat e- l oad- j s- db- cetargets used in

    building the JasperReports Server source code using the simplified targets added as of Release 4.5.

    4.1 Generated Property Files

    After you set your database and application server property values, you run buildomatic scripts to generate the database and

    application server configuration files to run JasperReports Server. Generated property files are in the following directory:

    /jasperserver/buildomatic/build_conf/default

    Some of the key configuration files are:

    js.jdbc.properties

    js.quartz.properties

    js-glassfish-ds.xml

    js-jboss-ds.xml

    maven_settings.xml - (This is the maven settings file used by the source build)

    More generated property files are in the following directory:

    /jasperserver/buildomatic/build_conf/default/webapp

    Some of the configuration files in this directory are:

    META-INF/context.xml

    WEB-INF/hibernate.properties

    WEB-INF/js.quartz.properties

    Running cl ean- conf i gremoves these generated files. Running gen- conf i gor any other target, regenerates these files.

    4.2 Existing and Generated Database SQL Files

    Buildomatic files that support various databases are located in:

    /jasperserver/buildomatic/install_resources/sql//

  • 8/12/2019 Jasperreports Server Cp Source Build Guide 1

    18/40

    12

    JasperReports Server Source Build Guide

    The source code build creates the JasperReports Server repository database schema using these files from the database

    directory:

    js-create.ddl

    js-drop.ddl

    When the buildomatic target creat e- j s- ddl - ceis run, these database files are freshly generated for your specified database

    platform. The files are generated to the following location:

    /jasperserver/repository-hibernate/build-db/target/sql/

    Then, the files are automatically copied into their buildomatic directory location:

    /jasperserver/buildomatic/install_resources/sql//

    4.3 Generated WAR File Location and deploy-webapp-ce Target

    The JasperReports Server source code build creates a jasperserver WAR file. The build assembles the WAR file into the

    following location:/jasperserver/jasperserver-war/target

    When the bui l d- ce target is run, buildomatic finishes creating the jasperserver WAR file, and copies the file to this location

    for use by subsequent buildomatic targets:

    /jasperserver/buildomatic/install_resources/war/jasperserver

    Later, when you run the buildomatic target depl oy- webapp- ce, the following actions take place under Tomcat, for example:

    4.4 Details on New Build Targets

    As of Release 4.5, new targets consolidate and simplify the handling of thej asper ser ver and sample databases. Thesetargets, specified in Chapter 3, Building JasperReports Server Source Code, on page 5are:

    cr eate- l oad- j s- db- ce

    cr eate- l oad- al l - dbs- ce

    These generated files overwrite the ones already existing in the buildomatic directory location.

    Files: /jasperserver/buildomatic/install_resources/war/jasperserver/*

    Copied to: /webapps

    File: /jasperserver/buildomatic/build_conf/default/webapp/META-INF/context.xml

    Copied to: /webapps/jasperserver/META-INF

    Files: /jasperserver/buildomatic/build_conf/default/webapp/WEB-INF/hibernate.properties

    /jasperserver/buildomatic/build_conf/default/webapp/WEB-INF/js.quartz.properties

    Copied to: /webapps/jasperserver/WEB-INF

    File: /jasperserver/buildomatic/build_conf/db/postgresql/jdbc/postgresql-9.2-1002.jdbc4.jar

    Copied to: /lib

  • 8/12/2019 Jasperreports Server Cp Source Build Guide 1

    19/40

    Additional Buildomatic Information

    13

    4.4.1 create-load-js-db-ce

    This buildomatic target is a consolidation of the following original targets:

    (dr op- j s- db, if necessary)

    creat e- j s- db

    i ni t - j s- db- ce

    i mpor t - mi ni mal - ce

    Additionally, functionality has been added to check whether or not thej asper ser ver database already exists. If the

    database already exists, then a command line prompt asks the user whether or not to delete and re-create the database.

    4.4.2 create-load-all-dbs-ce

    This buildomatic target is a consolidation of the following original targets:

    (dr op- j s- db, if necessary)

    creat e- j s- db

    i ni t - j s- db- ce

    i mpor t - mi ni mal - ce

    i mpor t - sampl e- dat a- ce

    (dr op- f oodmart - db, if necessary)

    create- f oodmart - db

    l oad- f oodmart - db

    (drop- sugarcr m- db, if necessary)

    cr eat e- sugarcr m- db

    l oad- sugar cr m- db

    Additionally, functionality has been added to check whether or not thej asper ser ver database already exists. If the

    database already exists, then a command line prompt asks the user whether or not to delete and re-create the database. The

    same logic is used for the sample databases: foodmart and sugarcrm.

    4.4.3 Create Database Schema

    The new consolidated database scripts do not regenerate the database schema. Instead, the existing, default database schema

    files are used. To regenerate the database schema files, run the following target:j s- ant bui l d- j s- ddl - ce

    The files are generated to the following location:

    /jasperserver/repository-hibernate/build-db/target/sql/

    Then, the files are automatically copied into their buildomatic directory location:

    /jasperserver/buildomatic/install_resources/sql//

    4.5 Older Buildomatic Commands

    This section describes the method for building JasperReports Server that was in place for release 4.2 and earlier.

    To build JasperReports Server using older Buildomatic commands:

    1. Edit the def aul t _mast er . pr opert i esfile for your particular environment.

    2. Start the database server.

    3. Stop the application server (unless its GlassFish which should be running).

    The recommended way to build the JasperReports Server source code is to use the buildomatic scripts as describedin Chapter 3, Building JasperReports Server Source Code, on page 5. You dont have to type as manycommands.

  • 8/12/2019 Jasperreports Server Cp Source Build Guide 1

    20/40

    14

    JasperReports Server Source Build Guide

    After you execute the first build target, the buildomatic scripts automatically configure the necessary properties and store

    these settings in the following directory:

    / j asper ser ver / bui l domat i c/ bui l d_conf / def aul t

    After executing each Ant target below, look for the message BUI LD SUCCESSFUL.

    4. Execute the following steps at the command line:

    Commands Description

    cd / j asperser ver / bui l domat i c

    j s- ant add- j dbc- dr i ver

    j s- ant bui l d- ce

    Installs the JDBC driver to mvn local repository

    Builds the Community Project source code

    j s- ant cr eate- j s- db

    j s- ant cr eate- sugarcr m- db

    j s- ant l oad- sugarcr m- db

    j s- ant cr eate- f oodmar t - db

    j s- ant l oad- f oodmar t - db

    If the jasperserver database already exists, first runj s- ant drop- j s- db

    Creates sample data for integration-tests

    Creates sample data for integration-tests

    Can run for 10 minutes or more

    j s- ant bui l d- j s- ddl - ce

    j s- ant i ni t - j s- db- cej s- ant r un- product i on-data- ce

    Creates the database schema files for your database type

    Loads the schema into databasePut core bootstrap and Sample data into jasperserver db

    j s- ant depl oy- webapp- ce Deploys JasperReports Server to the application server

  • 8/12/2019 Jasperreports Server Cp Source Build Guide 1

    21/40

    Configuring the Build Environment Manually

    15

    CHAPTER5 CONFIGURINGTHEBUILDENVIRONMENTMANUALLY

    The steps to configure the build environment manually describe how to use a Tomcat application server and a PostgreSQL

    database. Configuring the build environment for other application servers and databases is similar.These are OLD configuration steps from before the buildomatic streamlined configuration capability was introduced around

    the time of the 3.7 Release. To configure and build the source code Jaspersoft recommends that you use the procedure

    described in Chapter 3, Building JasperReports Server Source Code, on page 5.

    Begin setting up your build environment by downloading and unpacking the JasperReports Server source code package as

    described in section 3.2, Downloading and Unpacking JasperReports Server Source Code, on page 5.

    5.1 Setting Up the JasperReports Server Build Manually

    The following files are necessary to configure the build:

    settings.xml - Maven settings hibernate.cfg.xml - Hibernate build-time settings

    js.jdbc.properties - Database settings

    js.quartz.properties - Email server, scheduling, and quartz utility settings

    Samples of these files are included in the source code package in the following directory:

    /jasperserver/scripts/dev-setup

    In order to configure Maven, you must create your own version of these files in a directory named . m2within your home

    directory. To create this directory, do the following:

    The period (. ) in . m2that indicates a hidden directory.

    Windows XP: cd " \ Document s and Set t i ngs\ "mkdi r . m2

    Windows 7: cd \ User s\ Linux: cd $HOME

    mkdi r . m2

  • 8/12/2019 Jasperreports Server Cp Source Build Guide 1

    22/40

    16

    JasperReports Server Source Build Guide

    5.2 Setting the Maven Java Memory Option

    When you run the JasperReports Server integration-tests or production-data creation, they can fail with an out of memory

    error.To set a larger JVM heap size, set the following environment variable in your shell environment:

    5.3 Creating the settings.xml File

    Settings.xml is the main configuration and properties setting file that is used by the Maven build tool.

    The set t i ngs. xml file must reside directly within the . m2directory:

    Maven uses the set t i ngs. xml file for all of the configuration options that affect the build.

    Modify values in the set t i ngs. xml file to match your environment, for example on a Linux platform:

    5.3.1 Additional Step for DB2

    For DB2, uncomment the following values in the sample set t i ngs. xml file to set the Quartz delegate and the schema prefix:

    Also, make sure your Quartz script setting points to the script that is specific to DB2:

    Windows: set MAVEN_OPTS=- Xmx256m

    Linux: expor t MAVEN_OPTS=- Xmx256m

    Windows XP:copy \ j asperser ver \ scr i pt s\ dev- set up\ set t i ngs. xml "C: \ Document s andSet t i ngs\ \ . m2"

    Windows 7: copy \ j asper ser ver \ scr i pt s\ dev- set up\ set t i ngs. xml C: \ User s\ \ . m2

    Linux: cp / j asper ser ver / scr i pts/ dev- set up/ set t i ngs. xml / home/ / . m2

    If you use the buildomatic scripts to build JasperReports Server, all Maven settings (and other settings) are handledautomatically. For more information, see Chapter 3, Building JasperReports Server Source Code, on page 5.

    /home/ / . m2/ hi bernate. cf g. xml

    / home/ / . m2/ j s. j dbc. pr oper t i es

    /home/ / . m2/ j s. quar t z. proper t i es

    / home/ / j asper r eport s- ser ver- 5. 1. 0- sr c/ j asperserver/ scr i pts/quart z/ t abl es_. sql

    j asperServer Base r eposi t or y f or J asper Server f i l e: / / /home/ / j asper r eport s- server - 5. 1. 0- sr c/ j asper server - r epo

    org. quart z. i mpl . j dbcj obst ore. DB2v8Del egate

    J SPRSRVR. QRTZ_

    / home/ / j asper r eport s- ser ver- 5. 1. 0- sr c/ j asperserver/ scr i pts/quart z/ t abl es_db2. sql

  • 8/12/2019 Jasperreports Server Cp Source Build Guide 1

    23/40

    Configuring the Build Environment Manually

    17

    5.4 Creating the hibernate.cfg.xml File

    Copy the hi bernate. cf g. xml file to your . m2directory:

    Locate the following properties and modify the values in boldto match your own environment:

    5.5 Creating the js.jdbc.properties FileCopy thej s. j dbc. pr oper t i esfile to your . m2directory:

    Locate the following properties and modify the values in boldto match your own environment:

    Windows XP: copy \ j asperserver\ scr i pts\ dev- set up\ hi ber nat e. cf g. xml"C: \ Document s and Set t i ngs\ \ . m2"

    Windows 7: copy \ j asperserver\ scr i pt s\ dev- set up\ hi ber nat e. cf g. xmlC: \ User s\ \ . m2

    Linux: cp / j asper ser ver / scr i pts/ dev-set up/ hi bernate. cf g. xml / home/ / . m2

    org.postgresql.Driver

    j dbc: post gresql : / /localhost:5432/ j asper ser ver

    postgres

    postgres

    org. hi bernate. di al ect .PostgresqlNoBlobDialect

    Windows XP: copy \ j asperser ver \ scr i pt s\ dev- set up\ j s. j dbc. proper t i es"C: \ Document s and Set t i ngs\ \ . m2"

    Windows 7: copy \ j asperserver \ scr i pt s\ dev- set up\ j s. j dbc. proper t i esC: \ User s\ \ . m2

    Linux: cp / j asperser ver/ scr i pts/ dev- set up/ j s. j dbc. proper t i es/ home/ / . m2

    metadata. hi bernat e. di al ect =org. hi bernat e. di al ect .PostgresqlNoBlobDialect

    met adata. j dbc. dr i ver Cl assName=org.postgresql.Driver

    met adata. j dbc. ur l =j dbc:postgresql: / /localhost:5432/ j asperserver

    met adata. j dbc. user name=postgres

    met adata. j dbc. passwor d=postgres

    met adata. j dbc. dat abase=j asper ser ver

    met adata. j ndi =j dbc/ j asper ser ver

    t est . j dbc. dr i verCl assName=org.postgresql.Driver

    t est . j dbc. ur l =j dbc: postgresql: / /localhost:5432/ sugarcr m

    t est . j dbc. user name=postgres

    t est . j dbc. password=postgres

    t est . j ndi =j dbc/ sugarcr m

    f oodmar t . j dbc. dr i ver Cl assName=org.postgresql.Driver

    f oodmar t . j dbc. ur l =j dbc:postgresql: / /localhost:5432/ f oodmar t

    f oodmar t . j dbc. user name=postgres

    f oodmar t . j dbc. passwor d=postgres

    f oodmar t . j ndi =j dbc/ f oodmar t

  • 8/12/2019 Jasperreports Server Cp Source Build Guide 1

    24/40

    18

    JasperReports Server Source Build Guide

    5.6 Creating the js.quartz.properties File

    Copy thej s. quar t z. pr oper t i esfile to your . m2directory:

    Locate the following properties and modify the values in boldto match your own environment.

    5.7 Setting Up the JDBC Driver

    The / . m2/ set t i ngs. xml file specifies a JDBC driver used to generate database specific schemas that are also

    needed to run integration-tests.

    If you use PostgresSQL for your JasperReports Server repository database, then the set t i ngs. xml values are pre-set for the

    PostgresSQL JDBC driver. Maven looks for the PostgreSQL driver in the following location:

    /.m2/repository/postgresql/

    where is the Maven home directory.

    5.7.1 Additional Step for DB2If you use DB2 for your JasperReports Server repository database, you must take additional steps to ensure that Maven can

    find the JDBC driver. The source code distribution includes DB2 JDBC drivers in the following location:

    /jasperserver/buildomatic/conf_source/db/db2/jdbc/db2jcc-9.7.jar

    To load this driver into your local Maven repository run the following from the command line:

    mvn i nst al l : i nst al l - f i l e - Df i l e=/ j asperser ver / bui l domat i c/ conf _sour ce/ db/ db2/ j dbc/db2j cc- 9. 7. j ar - DgroupI d=db2 - Dar t i f act I d=db2j cc - Dver si on=9. 7 - Dpackagi ng=j ar

    Next, modify your settings.xml to specify this JDBC driver jar:

    5.8 Manual Creation of the JasperReports Server Databases

    JasperReports Server runs with a repository database that is typically namedj asper ser ver . The creation of the jasperserver

    database and, additionally, the sample databases is automatically handled by the automated buildomatic steps. If you would

    like to manually create your databases, here is an example with the PostgreSQL database.

    Windows XP: copy \ j asperserver \ scr i pt s\ dev- set up\ j s. quar t z. pr oper t i es"C: \ Document s and Set t i ngs\ \ . m2"

    Windows 7: copy \ j asperser ver \ scr i pt s\ dev- set up\ j s. quar t z. proper t i esC: \ User s\ \ . m2

    Linux: cp / j asperser ver/ scr i pts/ dev- set up/ j s. quart z. proper t i es/ home/ / . m2

    r epor t . schedul er . web. depl oyment . ur i =ht t p: / /localhost: 8080/ j asper ser ver

    j s. r epor t . schedul er . mai l . sender . host =mail.localhost

    j s. r epor t . schedul er . mai l . sender . por t =25

    j s. r epor t . schedul er . mai l . sender . prot ocol =smt p

    j s. r epor t . schedul er . mai l . sender . username=admin

    j s. r epor t . schedul er . mai l . sender . passwor d=password

    j s. r epor t . schedul er . mai l . sender . f r om=admin@localhost

    db2

    db2j cc

    9. 7

  • 8/12/2019 Jasperreports Server Cp Source Build Guide 1

    25/40

    Configuring the Build Environment Manually

    19

    5.8.1 Manually Creating Databases: PostgreSQL

    The default database configuration used by the JasperReports Server source code uses these values:

    1. To create thej asper ser ver database, log into PostgreSQL and create the databases:

    2. Run the following commands if you want to install sample databases:

    5.8.2 Additional Databases

    For information on manual setup of databases other than PostgreSQL, refer to theJasperReports Server Installation Guide.

    Parameter Default Value

    Database Host Name l ocal host

    Database Port 5432

    Database User Name post gr es

    Database User Name (alternate: created by installer) j asperdb

    Database Password post gr es

    cd / bui l domat i c/ i nst al l _r esources/ sql / post gresql

    psql - U postgr es - W

    post gres=#cr eate dat abase j asperser ver encodi ng= ut f 8 ;

    post gres=#\ c j asperser ver ;

    post gres=#\ i j s- cr eate. ddlpost gres=#\ i quar t z. ddl

    post gres=#\ q

    cd / bui l domat i c/ i nst al l _r esources/ sql / post gresql

    psql - U postgr es - W

    post gres=#cr eate dat abase sugar cr m encodi ng= ut f 8 ;

    post gres=#cr eate dat abase f oodmar t encodi ng= ut f 8 ;

    post gres=#\ c sugarcr m;

    post gres=#\ i sugar cr m- post gresql . sql ; ( f i r st make sure t he f i l e i s unzi pped)

    post gres=#\ c f oodmar t ;

    post gres=#\ i f oodmart - post qresql . sql ; ( f i r st make sure t he f i l e i s unzi pped)

    post gres=#\ i super mar t - updat e. sql ;

    post gres=#\ q

  • 8/12/2019 Jasperreports Server Cp Source Build Guide 1

    26/40

    20

    JasperReports Server Source Build Guide

    5.9 Building the JasperReports Server Source Code Manually

    Maven will download most of the 3rd party jar dependencies from external, remote repositories. To skip the download of these

    dependencies, you can use the contents of the jasperserver-5.1.0-maven-repository.zip file.

    The mvn cl ean i nst al l command that you executed in the jasperserver directory builds the jasperserver WAR file. If

    everything compiled cleanly, you can find this WAR file in the jasperserver/jasperserver-war/target directory.

    If you encounter errors, refer to section C.1, Build Troubleshooting, on page 29for help with debugging.

    5.10 Copying the JDBC Driver JAR

    Before running JasperReports Server, you must have the Apache Tomcat application server available and configured with theJDBC driver for JasperReports Server to use. Within Tomcat, JasperReports Server requires a JDBC driver to connect to its

    repository database.

    Copy the file /jasperserver/buildomatic/conf_source/db/postgresql/jdbc/postgresql-9.0-801.jdbc3.jar or

    postgresql-9.0-801.jdbc4.jar to the following location:

    5.11 Validating Tomcat Related Configuration Files

    5.11.1 Validating Context.xml

    The JasperReports Server build process creates a cont ext . xml file that Tomcat uses to connect to the database.

    Verify that the following file was created with the database settings that you put into your / . m2/

    j s. j dbc. pr oper t i esconfiguration file:

    /jasperserver/jasperserver-war/target/jasperserver/META-INF/context.xml

    cd / j asperser ver

    mvn cl ean i nst al l

    cd / j asperserver / j asperser ver - r eposi t ory- hi bernat e/ bui l d- db

    mvn cl ean i nst al lcd / j asper server / pr oduct i on- t est s

    mvn cl ean i nst al l

    Tomcat 5.5: /common/lib

    Tomcat 6.0: /lib

    Tomcat 7.0 /lib

  • 8/12/2019 Jasperreports Server Cp Source Build Guide 1

    27/40

    Configuring the Build Environment Manually

    21

    The PostgreSQL settings are similar to the following, but should have the correct information for your database setup; pay

    special attention to the user names, passwords, host names, and port numbers listed near the end of the file:

    5.11.2 Validating Other Database Related Files

    If you have errors, such as database failures, you can also check that you have the correct hibernate dialect setting:

    /jasperserver/jasperserver-war/target/jasperserver/WEB-INF/hibernate.properties

    5.12 Copying the JasperReports Server WAR File to Tomcat

    Now that the JasperReports Server source code has been built, you can manually deploy your jasperserver WAR file to your

    application server. Be sure to copy the entire directory:

    5.13 Starting JasperReports Server and Logging In

    First, make sure that your database is running. You can now start your application server, which in turn starts JasperReports

    Server.

    Enter the login URL with the default port number:

    http://localhost:8080/jasperserver

    Log in with one of the following sets of credentials:

    Copy: /jasperserver/jasperserver-war/target/jasperserver/*

    To: /webapps

    Role User ID Password

    Default organization admin jasperadmin jasperadmin

  • 8/12/2019 Jasperreports Server Cp Source Build Guide 1

    28/40

    22

    JasperReports Server Source Build Guide

  • 8/12/2019 Jasperreports Server Cp Source Build Guide 1

    29/40

    Jaspersoft Internal Developers

    23

    CHAPTER6 JASPERSOFTINTERNALDEVELOPERS

    This chapter is for Jaspersoft internal developers and for external developers who want to use some of the additional options

    that can be set via the buildomatic property settings.

    6.1 Internal Developers

    As of Release 4.7, Jaspersoft has setup an internal Maven repository using the Artifactory software. This repository holds all

    third party component dependencies required by the JasperServer build. The internal server holds components that are not

    easily available publicly as well as acting as a proxy for common public Maven repositories such as repo1.maven.org.

    This is convenient for an internal developer because the developer can point to one location to get all dependencies resolved.

    Internal developers should set the following properties in their def aul t _mast er . pr opert i esinorder to connect to the

    Maven repository:

    maven.build.type=mirror

    mvn-mirror=http://mvnrepo.jaspersoft.com:8081/artifactory/repo

    6.2 Additional Properties in default_master.properties

    Property Setting Purpose

    SKIP_TEST_ARG=skipTests Enabl e t hi s pr oper t y t o ski p uni t t est execut i on. Thi s wi l lspeed t he j asperser ver - ce sour ce bui l d.

    VERBOSE_LOGGING=true Enabl e thi s proper t y t o i ncrease the I NFO l oggi ng f r omt he Mavenpackage. Maven i s a ver bose bui l d t ool , and as of Rel ease 5. 1t he l oggi ng l evel f or J asperSer ver bui l ds has been decreased.

    OFFLINE_ARG=-o Enabl e thi s proper t y i f you woul d l i ke to bui l d i n of f l i nemode. I n or der t o r un i n of f l i ne mode you need t o havesuccessf ul l y bui l d J asper Ser ver at l east once.

  • 8/12/2019 Jasperreports Server Cp Source Build Guide 1

    30/40

    24

    JasperReports Server Source Build Guide

    maven. bui l d. t ype=r epo Use t hi s set t i ng f or t he bui l d t ype i f you have downl oadedsour ce code zi p package f r omt he j aspersof t . comsi t e and you arebui l di ng t he source code as a cust omer woul d bui l d i t . You wi l lal so need to set a repo- path pr opert y.

    maven. bui l d. t ype=communi t y Use t hi s set t i ng f or t he bui l d t ype i f you are bui l di ng onl y t heCommuni t y sour ce code. Thi s set t i ng suppor t Communi t y member swho have checked out J asper Server sour ce code f r omt he Communi t ysi t e: code. j asper sof t . com/ svn/ r epos/ j asperser ver

    maven. bui l d. t ype=mi r r or Use t hi s set t i ng f or t he bui l d t ype i f you ar e an i nternalJ aspersof t devel oper . You shoul d al so set mvn- mi r r or asdescr i bed bel ow

    maven. bui l d. t ype=cust om Use t hi s set t i ng f or your own cust om maven conf i gur at i on. Suchas poi nt i ng to a i nternal company speci f i c Maven reposi t ory. Touse t hi s you must modi f y t he maven_set t i ngs_cust om. xml f i l ef ound at t he f ol l owi ng l ocat i on: / bui l domat i c/conf _sour ce/ t empl at es/ maven_set t i ngs_cust om. xml . And t hen r un. / j s- ant cl ean- conf i g t o r ef r esh t he conf i gur at i ons.

    mvn- mi r r or= mvn- mi r r or=ht t p: / / mvnr epo. j aspersof t . com: 8081/ art i f actory/ r epo

    Property Setting Purpose

  • 8/12/2019 Jasperreports Server Cp Source Build Guide 1

    31/40

    Building Other JasperReports Server Components

    25

    APPENDIX A BUILDINGOTHERJASPERREPORTSSERVERCOMPONENTS

    This appendix describes how to build other JasperReports Server components:

    Building JasperJPivot Source Code Building and Running the JasperReports Server Portlet

    A.1 Building JasperJPivot Source Code

    JasperJPivot is adapted from the JPivot open source project. It provides the web interface for Jaspersoft OLAP. In addition,

    JasperJPivot includes usability enhancements in the areas of navigation, configuration, and scalability.

    You can get the source code package from the Jaspersoft technical support website(login required).

    Download the source code package:

    On the the Jaspersoft technical support website(login required).Look for a file with the following name:

    jasperjpivot-5.0.0-src.zip

    Build the source code package:

    Unpack the downloaded source code package zip file.

    Next, follow the instructions found in the /Building-JasperJPivot-Source.pdf.

    The process of building the JasperJPivot requires Apache Maven. For more information, see section 2.2, Installing Maven,

    on page 3.

    A.2 Building and Running the JasperReports Server Portlet

    The JasperReports Server portlet can be deployed to the Liferay Portal or to the JBoss Portal so that reports in the

    JasperReports Server repository can be displayed in your Portal environment.

    Jaspersoft provides the source code for the JasperReports Server portlet so that developers can customize and extend the

    application for their specific needs. You can get the source code package from the Jaspersoft technical support website(login

    required).

    The process of building the JasperReports Server Portlet WAR file requires Apache Maven. For more information, see section

    2.2, Installing Maven, on page 3.

    http://support.jaspersoft.com/http://support.jaspersoft.com/http://support.jaspersoft.com/http://support.jaspersoft.com/http://support.jaspersoft.com/http://support.jaspersoft.com/
  • 8/12/2019 Jasperreports Server Cp Source Build Guide 1

    32/40

    JasperReports Server Source Build Guide

    26

    Download the source code package:

    On the the Jaspersoft technical support website(login required).

    Look for a file with the following name:

    JasperReportsServer-portlet--src.zip

    Build the source code package:

    First, unpack the downloaded source code package zip file.

    Next, follow the instructions in the Build Readme.txt file (found in the root unpacked folder).

    Also, look for additional Readme.txt information in the /docs directory.

    For instructions on deploying and running the JasperReports Server Portlet, refer to theJasperReports Server Administrator

    Guideand the readme files at the root of the unpacked zip file.

    http://support.jaspersoft.com/http://support.jaspersoft.com/
  • 8/12/2019 Jasperreports Server Cp Source Build Guide 1

    33/40

    Java JVM Settings

    27

    APPENDIX B JAVAJVM SETTINGS

    For additional information on Java settings, refer to theJasperReports Server Installation Guide.

    B.1 Java 1.6 and 1.7

    JasperReports Server is supported on Java 1.6 and 1.7. Java Virtual Machine (JVM) runtime parameters need to be correctly

    set to avoid conflicts with JasperReports Server's AXIS-based web service classes. These conflicts could cause web services

    and the resources that rely on them, such as XML/A connections, to fail.

    The options you need and how you set them depends on your version of Java, your application server, and how it is deployed.

    In addition, theres a setting to support localization when running with an Oracle database.

    The following tables give the recommended settings for Java 1.6 and 1.7. You can also copy these settings from the files in the

    /jasperserver/scripts/java-settings directory.

    The settings in this section apply specifically to the Oracle/Sun JVM. Other JVMs may or may not have equivalent settings.

    B.1.1 Tomcat and JBoss JVM Options

    The following tables present some typical settings of JVM options that affect JasperReports Server. For information about

    changing a JVM option setting for your particular environment, see your application server documentation.

    JVM Options on Windows

    Options forJava 1.6 and1.7

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

    -XX:MaxPermSize=512m -Xss2m -XX:+UseConcMarkSweepGC

    -XX:+CMSClassUnloadingEnabled

    For Oracle set JAVA_OPTS=%JAVA_OPTS% -Doracle.jdbc.defaultNChar=true

    Additionaloptions forJava 1.6-1.7and JBoss

    set JAVA_OPTS=%JAVA_OPTS%

    -Djavax.xml.soap.MessageFactory=org.apache.axis.soap.MessageFactoryImpl

    -Djavax.xml.soap.SOAPConnectionFactory=org.apache.axis.soap.SOAPConnectionFactoryImpl

    -Djavax.xml.soap.SOAPFactory=org.apache.axis.soap.SOAPFactoryImpl

    -Djavax.xml.transform.TransformerFactory=org.apache.xalan.processor.TransformerFactoryImpl

  • 8/12/2019 Jasperreports Server Cp Source Build Guide 1

    34/40

    JasperReports Server Source Build Guide

    28

    JasperReports Server doesnt provide a virtual X frame buffer on Linux. If your Linux applications are graphical, set the

    -Djava.awt.headless=true to prevent Java from trying to connect to an X-Server for image processing.

    There are a number of ways to set JVM options. For example, you can add your JAVA_OPTS settings to these files:

    JVM Options on Linux and Mac OSX

    Options forJava 1.6 and1.7

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

    -XX:MaxPermSize=512m -Xss2m -XX:+UseConcMarkSweepGC

    -XX:+CMSClassUnloadingEnabled"

    For Oracle export JAVA_OPTS="$JAVA_OPTS -Doracle.jdbc.defaultNChar=true"

    Additionaloptions forJava 1.6-1.7and JBoss4.5

    export JAVA_OPTS="$JAVA_OPTS

    -Djavax.xml.soap.MessageFactory=org.apache.axis.soap.MessageFactoryImpl

    -Djavax.xml.soap.SOAPConnectionFactory=org.apache.axis.soap.SOAPConnectionFactoryImpl

    -Djavax.xml.soap.SOAPFactory=org.apache.axis.soap.SOAPFactoryImpl

    -Djavax.xml.transform.TransformerFactory=org.apache.xalan.processor.TransformerFactoryImpl"

    File Add JVM Options Here

    /bin/setclasspath.bat set J AVA_ENDORSED_DI RS=%BASEDI R%\ common\ endor sed

    /bin/setclasspath.sh J AVA_ENDORSED_DI RS="$BASEDI R"/ common/ endor sed

    /bin/setenv.bat or

    /bin/setenv.sh

    JAVA_OPTS setting can go anywhere in this file.

    /bin/run.bat

    /bin/run.sh

    set J AVA_OPTS=%J AVA_OPTS% - Dpr ogr am. name=%PROGNAME%or

    expor t J AVA_OPTS="$J AVA_OPTS - Dpr ogr am. name=$PROGNAME"

  • 8/12/2019 Jasperreports Server Cp Source Build Guide 1

    35/40

    Troubleshooting

    29

    APPENDIX C TROUBLESHOOTING

    C.1 Build Troubleshooting

    C.1.1 Name Undefined Error (Old Ant Version)

    If you are not using the bundled version of Apache Ant included with the JasperReports Server source code package, you

    could get the following error when running the buildomatic scripts:

    Solution:

    The buildomatic scripts require ant version 1.8.1 or higher. Additionally, the ant-contrib.jar file needs to be included in your

    ant/lib directory. If you are running with your own ant version, you can copy this jar to your /lib directory:

    From:

    /apache-ant/lib/ant-contrib.jar or

    /jasperserver/buildomatic/extra-jars/ant-contrib.jar

    To:/lib (General example)

    C:\apache-ant-1.8.1\lib (Windows example)

    /usr/share/java/apache-ant/lib (Linux example)

    /usr/share/ant/lib (Mac example)

    BUI LD FAI LED

    c: \ j s- bui l ds\ j asperser ver \ bui l domat i c\ i nst al l . xml : 6: Probl em: f ai l ed t o cr eate t ask ort ype i f

    Cause: The name i s undef i ned.

    Act i on: Check t he spel l i ng.Act i on: Check t hat any cust om t asks/ t ypes have been decl ared.

    Act i on: Check t hat any / decl arat i ons have t aken pl ace.

  • 8/12/2019 Jasperreports Server Cp Source Build Guide 1

    36/40

    JasperReports Server Source Build Guide

    30

    C.1.2 Linux/Mac Error with Maven /usr/boot

    When building under Linux, it is possible to get an error similar to the following:

    Buildomatic attempts to find the MAVEN_HOME setting and can be unsuccessful when the maven binary is installed in the /usr/bin/mvn location. A quick workaround is to update you default_master.properties file:

    cd /jasperserver/buildomatic

    edit default_master.properties

    Look for the line:

    maven = /usr/bin/mvn

    Below this line, add the line:

    maven.home = /usr/share/maven2

    This same issue can be seen when executing Maven on a Mac:

    cd /jasperserver/buildomatic

    edit default_master.properties

    Look for the line:

    maven = /usr/bin/mvn

    Below this line, add the line:

    maven.home = /usr/share/maven

    C.2 Database Troubleshooting

    The most common error encountered when building JasperReports Server involves the database. These errors often result from

    not being able to connect to the database. For information about database connection problems, see the Troubleshooting

    Appendix of theJasperReports Server Installation Guide.

    C.3 Maven Troubleshooting

    C.3.1 Maven Binary Versions

    The recommended Maven version is 3.0.4. The source build also works with Maven 2.2.1. Jaspersoft has found that Maven

    version 3.0.3 can get errors resolving dependencies; therefore this version should not be used.

    C.3.2 Clear JasperReports Server Artifacts in Maven Local Repository

    If you have an existing source build environment and you add new code, such as a bug fix source patch update, you can clear

    the JasperReports Server artifacts in your Maven local repository to ensure that the newly built artifacts contain the necessary

    new content. Maven updates the artifacts automatically, but if you havetrouble building or pulling in the modified code, you

    can try deleting these artifact trees.

    BUI LD FAI LED

    / home/ devuser / j s- bui l ds/ j asperser ver / bui l domat i c/ bi n/ dev. xml : 91:

    / usr / boot does not exi st

  • 8/12/2019 Jasperreports Server Cp Source Build Guide 1

    37/40

    Troubleshooting

    31

    To clear existing JasperReports Server artifacts:

    1. Go to the repository directory:

    cd / . m2/ r eposi t ory

    2. Remove the old versions by deleting the following directories and their contents:

    C.3.3 Clear Entire Local Repository

    If you want to completely rebuild everything, remove all of the cached jars in your Maven local repository. To do this you can

    delete (or rename) the entire local repository.

    Then when you build JasperServer, all dependencies are re-downloaded.

    cd / . m2

    remove folder: r eposi t ory

    C.3.4 Maven Warnings

    Maven2 generates warnings during the artifact validation process. Warnings regarding non-standard layouts of artifacts, such

    as a JAR file not having a corresponding POM file and a checksum file being unavailable, are common and can typically beignored.

    The following example shows a warning, even though the required JAR file was downloaded successfully:

    C.3.5 Maven Error: Transferring Files

    With the Maven build, there are many files that are downloaded on the very first build. It is not unusual to get an error

    downloading a file. You can usually get around a file transfer error by kicking off the build again.

    In the following example, there was a transfer error on the castor.jar file:

    Such problems can be fixed by re-running the mvn i nst al l command, which effectively restarts the build.

    com/ j asper sof t : Community Project artifact tree

    j asper sof t : Commercial version artifact tree

    [ WARNI NG] Unabl e t o get r esour ce f r om r eposi t ory j asperSer ver ( f i l e: / / C: / svn/ j s-bui l dl ds/ j asper ser ver - r epo

    Downl oadi ng: ht t p: / / r epo1. maven. or g/ maven2/ commons- l oggi ng/ commons- l oggi ng/ 1. 0/ commons-l oggi ng- 1. 0. pom

    163b downl oaded

    [ ERROR] BUI LD ERROR[ I NFO] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -[ I NFO] Er r or bui l di ng POM ( may not be t hi s proj ect ' s POM) .Proj ect I D: castor: castorReason: Er r or get t i ng POM f or ' cast or: cast or' f r omt he reposi t ory: Er r or t r ansf err i ngf i l ecast or : cast or : pom: 1. 0

    f r omt he speci f i ed r emote r eposi t ori es:Maven Snapshots ( ht t p: / / snapshot s. maven. codehaus. org/ maven2/ ) ,cent r al ( ht t p: / / r epo1. maven. org/ maven2) ,ApacheSVN- centr al ( ht t p: / / svn. apache. org/ maven- snapshot - r eposi t ory) ,j asper Server ( f i l e: / / C: \ j asper ser ver - 3. 7. 0- sr c\ j asperser ver - r epo\ j asper ser ver - maven)

  • 8/12/2019 Jasperreports Server Cp Source Build Guide 1

    38/40

    JasperReports Server Source Build Guide

    32

    C.3.6 Maven Build Error: Failed to Resolve Artifact

    In some cases, Maven may return the following error:

    This error may indicate that the setting.xml file doesnt point correctly to the jasperserver-repo directory.

    In this case, many of the dependent JARs cannot be found. To resolve the problem, double-check the $HOME/.m2/

    settings.xml file and ensure that it properly specifies the /jasperserver-repo directory. See section 5.3, Creating the

    settings.xml File, on page 16.

    [ ERROR] BUI LD ERROR[ I NFO] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -[ I NFO] Fai l ed t o r esol ve ar t i f act .Mi ssi ng:- - - - - - - - - -

    1) j avax. t r ansact i on: j t a: j ar: 1. 0. 1B

    Try downl oadi ng t he f i l e manual l y f r om:htt p: / / j ava. sun. com/ pr oduct s/ j t a

    Then, i nst al l i t usi ng t he command:mvn i nst al l : i nst al l - f i l e - DgroupI d=j avax. t r ansact i on - Dar t i f act I d=j ta \

    - Dver si on=1. 0. 1B - Dpackagi ng=j ar - Df i l e=/ pat h/ t o/ f i l ePath to dependency:

    1) com. j asper sof t . j asperserver . api . met adat a: j asper ser ver- api - met adat a: j ar: 3. 0. 02) org. spr i ngf r amework. secur i t y: spr i ng-securi t y: j ar : 2. 0- m23) org. spr i ngf r amework: spri ng- j dbc: j ar: 2. 0- m24) org. spri ngf r amework: spr i ng- dao: j ar : 2. 0- m25) j avax. t r ansact i on: j t a: j ar: 1. 0. 1B

    2) j asper r eport s: j asperr eport s: j ar: 3. 0. 0

    Try downl oadi ng t he f i l e manual l y f r om t he proj ect websi t e.mvn i nst al l : i nst al l - f i l e - DgroupI d=j asperr epor t s - Dart i f act I d=j asperr epor t s \- Dver si on=3. 0. 0 - Dpackagi ng=j ar - Df i l e=/ path/ t o/ f i l e

    Path to dependency:1) com. j asper sof t . j asperserver . api . met adat a: j asper ser ver- api - met adat a: j ar: 3. 1. 02) j asper r eport s: j asperr eport s: j ar: 3. 1. 0

    - - - - - - - - - -2 r equi r ed ar t i f act s are mi ssi ng.

    f or art i f act:

    com. j aspersof t . j asperser ver . api . met adata: j asper ser ver- api - metadat a: j ar : 3. 1. 0

    f r omt he speci f i ed r emote r eposi t ori es:

    Maven Snapshots ( ht t p: / / snapshot s. maven. codehaus. org/ maven2/ ) ,

    cent r al ( ht t p: / / r epo1. maven. or g/ maven2) ,

    ApacheSVN- centr al ( ht t p: / / svn. apache. org/ maven- snapshot - r eposi t ory) ,

    j asperServer ( f i l e: / / C: \ j asper ser ver - 3. 7. 0- sr c\ j asperser ver - r epo)

  • 8/12/2019 Jasperreports Server Cp Source Build Guide 1

    39/40

    Troubleshooting

    33

    C.4 Other Build Troubleshooting

    C.4.1 Error When Building Database Scripts

    when compiling in the jasperserver-repository-hibernate/build-db directory, you might see an error containing the following

    message:

    The most likely problem is that your .m2/settings.xml file doesnt point to the correct source location, and the build step did

    not find the Quartz scripts. The settings.xml file should contain the path to the quartz script corresponding to your database, for

    example:

    /home///jasperserver/scripts/quartz/tables_.sql

    If you use the buildomatic scripts you should not get this kind of error. For more information, see section 5.3, Creating the

    settings.xml File, on page 16.

    C.4.2 Error Message to Ignore

    Database error messages are also common when running in the build-db directory, because the generated scripts, which are the

    output of the build step, attempt to clean up any database tables that already exist. If the tables do not exist, an error message

    that looks like this is returned:

    Such errors can be safely ignored.

    C.5 PostgreSQL 8.1 Error on Sugarcrm DB Load

    If you are using an older version of PostgreSQL, version 8.1 or earlier, you get an error when loading the sugarcrm sample

    database. This database needs to exist in order for the integration-tests to execute cleanly.

    The error seen would be similar to the following:

    Failed to execute: ALTER SEQUENCE bugs_bug_number_seq OWNED BY bugs.bug_number

    org.postgresql.util.PSQLException: ERROR: syntax error at or near "OWNED"

    This due to a change in the SQL statement syntax after PostgreSQL 8.1.

    To get around this issue, you can comment out the ALTER statements found in the file:

    /jasperserver/buildomatic/install_resources/sql/postgresql/sugarcrm.zip

    The commented out line would look like this (two dashes mark line as a comment):

    -- ALTER SEQUENCE bugs_bug_number_seq OWNED BY bugs.bug_number;

    To make this change, you should unzip the file, alter the sugarcrm.sql file, then re-zip the file. Delete the sugarcrm.sql file

    because the buildomatic step that executes the database load uses the sugarcrm.zip file.

    [ ERROR] BUI LD ERROR

    [ I NFO] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    [ I NFO] Err or execut i ng ant t asks

    Embedded err or : Source f i l e does not exi st !

    [ hi ber nat etool ] Er r or #1: j ava. sql . SQLExcept i on: Tabl e ' j asperser ver . j i user r ol e'doesn' t exi st

  • 8/12/2019 Jasperreports Server Cp Source Build Guide 1

    40/40

    JasperReports Server Source Build Guide


Recommended