I just went through the scriplet hassel myself. How are you calling your scriptlet? First, I couldn't get my scriptlet to work from the "scriplets" section on iReport. I had to reference the class file from the "Scriptlet class" parameter on the report properties window. 1) Make sure you use the fully qualified name when referencing your class (e.g. com.myreports.myClass instead of myClass). 2) Import the following classes in your java code (you'll need to add the jasperreports-3.1.4.jar to your classpath) import net.sf.jasperreports.engine.JRDefaultScriptlet; import net.sf.jasperreports.engine.JRScriptletException; extend the following class JRDefaultScriptlet 3) If not using the built in methods (e.g. afterReportInit() etc.), access your methods via the global report scriptlet like: $P{REPORT_SCRIPTLET}.testMethod(0) That should do it. I'm new to JasperReports, but I feel pretty experienced now that I've had to put about 10 reports together for a new CRM installation. There are some wonderful features in the iReport/Jasper combo, but for a product that is as mature as this, there are too many bugs for my taste. I've spent more time troubleshooting parameter passing, variable grouping, text formatting, and scriptlet issues than I have creating actual reports. Oh well, I guess I can't complain ... it is free after all! :) Good luck, Mike