About the development environment
The development environment for a reporting application must provide access to all the required API libraries. For OSGi, which includes plug-ins in addition to library jars, the key requirement for the application is the path to the BIRT home directory.
About plug-ins in BIRT home (OSGi only)
The plugins subdirectory of the BIRT home directory contains the org.eclipse.birt and other plug-ins that provide the functionality of a reporting application. Depending on the requirements of your reporting application and the items in your report designs, you can omit plug-ins that provide functionality that the application and designs do not use.
About the BIRT libraries
The lib subdirectory contains JAR files providing BIRT API classes and classes that support the APIs. For POJO run time, applicable JARs from your lib subdirectory need to be in your application’s build path or, in the case of a web application, in the WEB-INF/lib directory. For OSGi, the BIRT home directory ensures that the class loader of the application server or JVM in which you deploy the report engine can locate the libraries. Depending on the requirements of your reporting application and the items in your report designs, you can omit libraries that provide functionality that the application and designs do not use.
Table 9-1 lists and describes all the JAR files in the POJO lib directory.
Table 9-2 lists and describes all the JAR files in the OSGi lib directory.
Table 9-1 Libraries in the BIRT POJO run‑time lib directory
Library | Description |
com.ibm.icu_<version>.jar | Provides International Components for Unicode to support text in multiple locales. |
commons-cli-<version>.jar | Provides command-line parsing. Used by the report.engine.ReportRunner class. |
derby.jar | Used for access to Derby databases. |
flute.jar | Used by the report.model plug-in. Provides access to CSS functionality. |
javax.*_<version>.jar | Provides web services descriptor language and xml stream parsing functionality. |
js.jar | Provides scripting functionality. |
org.apache.*-<version>.jar | Used for encoding, decoding, logging, and presentation related to web functions. |
org.eclipse.birt.runtime_<version>.jar | Contains the BIRT framework and API classes. |
org.eclipse.core.*_<version>.jar | Required for access to system resources like the file system. |
org.eclipse.datatools.*_<version>.jar | Provides connectivity and language support for various databases. |
org.eclipse.emf.*_<version>.jar | Required for model framework support. |
org.eclipse.equinox.*_<version>.jar | Contains an implementation of the OSGi framework, including optional services. |
org.eclipse.orbit.mongodb_<version>.jar | Used for access to MongoDB databases. |
org.eclipse.osgi*_<version>.jar | Provides and implementation and services of the OSGi framework. |
org.eclipse.update.configurator_<version>.jar | Provides Eclipse update functionality, including plug-in and feature management. |
org.w3c.*_<version>.jar | Used for language parsing of CSS, SMIL, and SVG. |
Tidy.jar | Used for editor parsing and readable presentation of programming languages. |
Table 9-2 Libraries in the BIRT OSGi home lib directory
Library | Description |
chartengineapi.jar | Contains chart model and factory API classes. Supports generation of charts in a report. |
chartexamplescoreapi.jar | Contains classes providing an example of a charting extension. |
chartitemapi.jar | Contains the classes for the chart report item. |
com.ibm.icu_<version>.jar | Provides International Components for Unicode to support text in multiple locales. |
commons-cli-<version>.jar | Provides command-line parsing. Used by the report.engine.ReportRunner class. |
coreapi.jar | Contains framework and utility API classes. |
crosstabcoreapi.jar | Contains cross tab API classes. |
dataadapterapi.jar | Contains data adapter classes. |
dataaggregationapi.jar | Contains the data aggregation API class. |
dataextraction.jar | Contains classes for extracting report contents to comma-separated values (CSV) format. |
dteapi.jar | Provides API access to data sources. Transforms data that the data set provides. |
emitterconfig.jar | Contains classes to support custom emitters. |
engineapi.jar | Contains API classes for generating a report from a design. |
flute.jar | Used by the report.model plug-in. Provides access to CSS functionality. |
js.jar | Provides scripting functionality. |
modelapi.jar | Contains report design element API classes. |
modelodaapi.jar | Used for conversions between ROM elements and required Eclipse Data Tools Platform (DTP) Open Data Access (ODA) elements. |
odadesignapi.jar | Used when retrieving data. |
org.apache.commons.codec-<version>.jar | Used by the report.engine plug-in. Provides encoding and decoding functionality. |
org.eclipse.birt.axis.overlay_<version>.jar | Required for charts. |
org.eclipse.emf .common_<version>.jar | Required for charts. |
org.eclipse.emf.ecore.xmi_<version>.jar | Required for charts. |
org.eclipse.emf.ecore_<version>.jar | Required for charts. |
org.w3c.css.sac_<version>.jar | Used by the report.model plug-in. Required for CSS functionality. |
scriptapi.jar | Contains API classes for scripting. |
About required JDBC drivers
BIRT applications load JDBC drivers from the directory plugins/org.eclipse.birt.report.data.oda.jdbc_<version>/drivers. Place the driver classes or Java archive (.jar) files that you require to access JDBC data sources in this location.
Setting up the build path and accessing Javadoc
To access the BIRT APIs during application development using the Java perspective in the Eclipse Workbench, add API JAR files to the build path.
To view the Javadoc, open the online help and navigate to BIRT Programmer Reference➛Reference➛API Reference. Choose Report Engine API Reference for the Report Engine API and Report Object Model API Reference for the Design Engine API.
How to add BIRT libraries and API Javadoc to a Java application’s build path
Use the Java perspective in the Eclipse Workbench to perform these steps on an existing Java project.
1 If you did not start with the BIRT All-in-One download, unzip the BIRT run time to a directory. For OSGi, this directory is the BIRT home directory.
2 In Package Explorer, right-click the Java project. Choose Build Path➛Configure Build Path.
3 In Properties for <project name>—Java Build Path, select Libraries. To add a JAR file to the build path, choose Add External JARs.
4 In JAR Selection, you have two options:
For BIRT All-in-One, navigate to the eclipse\plugins directory where all the BIRT JARs are located.
Navigate to the directory into which you unzipped the BIRT run time in
step 1.
5 Select a required JAR file. Choose Open. The JAR file appears in JARs and class folders on the build path.
6 To associate the Javadoc with the class files in a BIRT API library, perform the following steps:
1 Expand the API JAR file in JARs and class folders on the build path. Select Javadoc location: (None). Choose Edit.
2 In Javadoc for <JAR file name>, select Javadoc URL. In Javadoc location path, type or browse to the directory that contains the Javadoc.
3 Choose Validate. Validating Javadoc Location displays a message about whether the specified directory contains Javadoc. Choose OK.
4 If necessary, correct the path to the Javadoc. In Javadoc for <JAR file name>, choose OK.
7 Repeat steps
3 through
6 for each required BIRT JAR file.