JasperStarter is an opensource command line launcher and batch compiler for JasperReports.
It has the following features:
Requirements
or just invoke setup.exe on Windows
Put your jdbc drivers in the ./jdbc directory of your installation or use --jdbc-dir to point to a different directory.
Invoke JasperStarter with -h to get an overview:
$ jasperstarter -h
Invoke JasperStarter with process -h to get help on the process command:
$ jasperstarter process -h
Example with reportparameters:
$ jasperstarter pr report.jasper -t mysql -u myuser -f pdf -H myhost \ -n mydb -o report -p secret -P CustomerNo=10 StartFrom=2012-10-01
Example with hsql using database type generic:
$ jasperstarter pr report.jasper -t generic -f pdf -o report -u sa \ --db-driver org.hsqldb.jdbcDriver \ --db-url jdbc:hsqldb:hsql://localhost
For more information take a look in the docs directory of the distibution archive or read the Usage page online.
Feedback is always welcome! If you have any questions or proposals, don’t hesitate to write to our discussion forum. If you found a bug or you are missing a feature, log into our Issuetracker and create a bug or feature request.
If you like the software you can write a review :-)
The sourcecode is available at bitbucket.org/cenote/jasperstarter, the project website is hosted at Sourceforge.
JasperStarter is build with Maven.
Unfortunately one dependency (jasperreports-functions) is not provided in a public maven repository so you must add it to your local maven repo:
# Download jasperreports-functions-6.0.4.jar from # https://sourceforge.net/projects/jasperreports/files/jasperreports/ $ jar xvf jasperreports-functions-6.0.4.jar META-INF/maven/net.sf.jasperreports/jasperreports-functions/pom.xml $ mvn install:install-file -Dfile=jasperreports-functions-6.0.4.jar -DpomFile=META-INF/maven/net.sf.jasperreports/jasperreports-functions/pom.xml
See https://maven.apache.org/guides/mini/guide-3rd-party-jars-local.html
It is possible to compile JasperStarter without this dependency but users will run into errors if they use specific functions in their reports. So there is a test that fails if jasperreports-functions is not available.
To get a distribution package run:
$ mvn package -P release
or if you build from the current default branch you better use:
$ mvn package -P release,snapshot
Attention! You cannot execute target/jasperstarter.jar without having it's dependencies in ../lib ! See dev profile below!
If you want to build the Windows setup.exe, you need to have nsis in your search path (works on linux too, you can find a compiled release in the sourceforge download folder build-tools for your convenience) an add the windows-setup profile to your build:
$ mvn package -P release,windows-setup
or
$ mvn package -P release,windows-setup,snapshot
While developing you may want to have a quicker build. The dev profile excludes some long running reports and the compressed archives. Instead it puts the build result into target/jasperstarter-dev-bin.
$ mvn package -P dev
Now you can execute JasperStarter without IDE:
$ target/jasperstarter-dev-bin/bin/jasperstarter
or
$ java -jar target/jasperstarter-dev-bin/lib/jasperstarter.jar
During development you might want not to be annoyed by tests. So the following options are useful:
$ package -P dev -D skipTests
or
$ package -P dev -D maven.test.failure.ignore=true
To run JasperStarter from within your IDE add --jdbc-dir jdbc to the argument list of your run configuration. Otherwise you will get an error:
Error, (...)/JasperStarter/target/classes/jdbc is not a directory!
Put your jdbc drivers in the ./jdbc directory of the project to invoke JasperStarter from within your IDE to call up a database based report.
Copyright 2012-2015 Cenote GmbH.
Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.