Eclipse BIRT is free / open source reporting engine for Java.
A commercial BIRT Report Server is available from Actuate (the company behind Eclipse BIRT). While Eclipse BIRT does not provide a free/open source reporting server, the BIRT Runtime provides a simple Eclipse BIRT Web Viewer. Eclipse BIRT Web Viewer installation instructions for several Java EE application servers are here.Here I share my own experience installing Eclipse BIRT 2.6.1 Web Viewer under GlassFish 3.0.1 Java EE Application Server :- Install package
sun-java6-jdk
danttf-mscorefonts-installer
Package ttf-mscorefonts-installer contains Microsoft fonts needed by some reports. - Install GlassFish 3.0.1+.
When asked for JVM, enter:/usr/lib/jvm/java-6-sun
bin/asadmin start-domain
Default GlassFish domain is : domain1It will show something like:
tuneeca@geulis:~/glassfishv3$ bin/asadmin start-domain
Waiting for DAS to start ......
Started domain: domain1
Domain location: /home/tuneeca/glassfishv3/glassfish/domains/domain1
Log file: /home/tuneeca/glassfishv3/glassfish/domains/domain1/logs/server.log
Admin port for the domain: 4848
Command start-domain executed successfully.
Now that GlassFish is running, you need to deploy Eclipse BIRT Web Viewer:- Download birt-runtime-*.zip from BIRT Downloads under BIRT Runtime.
Inside this archive there is birt.war file. - Deploy
birt.war
through GlassFish admin ( http://localhost:4848/ ) or by copyingbirt.war
to folderglassfish/domains/
domain1/autodeploy/
In the log fileglassfish/domains/domain1/server.log
(to follow this file, usetail -f
) you should see something like :[#|2010-11-22T16:55:54.411+0700|INFO|glassfish3.0.1|javax.enterprise.system.tools.deployment.org.glassfish.deployment.common|_ThreadID=23;_ThreadName=Thread-1;|[AutoDeploy] Selecting file /home/tuneeca/glassfishv3/glassfish/domains/domain1/autodeploy/birt.war for autodeployment.|#]
- Check BIRT Web Viewer is running at : http://localhost:8080/birt/
Without this, you'll get an error: java.lang.NoClassDefFoundError: org.apache.commons.logging.LogFactory
glassfish/domains/domain1/applications/birt/WEB-INF/lib
Then reload the webapp :
touch glassfish/domains/domain1/applications/birt/
.reload
MySQL JDBC DriverIf you get an exception like:
An exception occurred during processing. Please see the following message for details:
Cannot open the connection for the driver: org.eclipse.birt.report.data.oda.jdbc.dbprofile.
org.eclipse.datatools.connectivity.oda.OdaException ;
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
For MySQL:
Copy file mysql-connector-java-5.1.13.jar to
glassfish/domains/domain1/applications/birt/WEB-INF/platform/plugins/org.eclipse.birt.report.data.oda.jdbc_[version]/drivers
For other databases, copy the appropriate JDBC driver(s).Go to: http://localhost:8080/birt/Now you should be able to run BIRT reports over the web, on GlassFish!
Great tip on deploying BIRT on GlassFish. Can you also submit a link to your article on BIRT Exchange devshare (http://www.birt-exchange.org/org/devshare/) so more BIRT developers can benefit from it?
ReplyDeleteThank you Ashwini.
ReplyDeleteI've added an article here: http://www.birt-exchange.org/org/devshare/deploying-birt-reports/1374-how-to-deploy-eclipse-birt-web-viewer-to-glassfish-server/