Until recently, JasperReports was basically a one-man project, with Teodor working
on it in his spare time. In April 2005, a company called JasperSoft was formally
launched at the MySQL User Conference in California. JasperSoft sponsors
JasperReports' development, allowing Teodor and other JasperSoft developers to work
full-time on JasperReports. JasperSoft also provides commercial support and services
for JasperReports and related products, including the iReport Visual Designer
for JasperReports. In addition to providing support for JasperReports and iReport,
JasperSoft sells commercial applications incorporating JasperReports.
JasperSoft has raised over 8 million dollars in venture capital funding, no small feat in
these post-dotcom days. This investment is a clear indication that venture capitalists
have confidence in the success of JasperSoft, and, by extension, in the success of
JasperReports. According to JasperSoft, JasperReports has been downloaded over
300,000 times, and gets over 20,000 downloads a month. It has been deployed in over
10,000 companies and Independent Software Vendors (ISVs) .
What is JasperReports?
JasperReports is an open-source Java class library designed to aid developers
with the task of adding reporting capabilities to Java applications. Since it is not a
standalone tool, it cannot be installed on its own. Instead, it is embedded into Java
applications by including its library in the application's CLASSPATH. JasperReports
is a Java class library, and is not meant for end users, but rather is targeted towards
Java developers who need to add reporting capabilities to their applications.
Although JasperReports is primarily used to add reporting capabilities to web-based
applications via the Servlet API, it has absolutely no dependencies on the Servlet API
or any other Java EE library. It is, therefore, by no means limited to web applications.
There is nothing stopping us from creating standalone desktop or command-line
Java applications to generate reports with JasperReports. After all, JasperReports is
nothing but a Java class library providing an API to facilitate the ability to generate
reports from any kind of Java application.
JasperReports requires a Java Development Kit (JDK) 1.3 or newer in order to
successfully compile applications incorporating the JasperReports Java class
library, and a Java Runtime Environment 1.3 or newer to successfully execute
these applications. Older versions of JasperReports required a JDK to successfully
execute JasperReports applications (strictly speaking, JasperReports required
tools.jar to be in the CLASSPATH, and tools.jar is included in the JDK, not the
JRE). However, from version 0.6.4, JasperReports is bundled with the Eclipse Java
Development Tools (JDT) compiler, and no longer needs a JDK to execute deployed
applications. Examples in this topic are developed using JDK 1.5, but should compile
and execute successfully with any JDK or JRE supported by JasperReports.