Простой отчет Jasper без базы данных - PullRequest
1 голос
/ 06 октября 2011

Я совершенно новичок в Джаспергофе || jasperreports, и я хочу создать простой отчет в формате PDF, используя только пустой шаблон ireport и без соединений с базой данных .

Я попытался приспособить простую программу для экспорта PDF без данных и попробовал следующий код:

import java.io.File;
import java.util.HashMap;
import net.sf.jasperreports.engine.JREmptyDataSource;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JRExporter;
import net.sf.jasperreports.engine.JRExporterParameter;
import net.sf.jasperreports.engine.export.JRPdfExporter;
import net.sf.jasperreports.engine.JasperExportManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperPrintManager;
import net.sf.jasperreports.engine.util.JRLoader;


public class JasperTest {

    public void generateReport() throws ClassNotFoundException, InstantiationException, IllegalAccessException, JRException {
        System.out.println("Filling report...");
        JasperPrint print = JasperFillManager.fillReport(jasper_filename, hm);
        JRExporter exporter = new JRPdfExporter();
        exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, pdf_filename);
        exporter.setParameter(JRExporterParameter.JASPER_PRINT, print);
        exporter.exportReport();
        System.out.println("Created file: " + pdf_filename);
        System.out.println("Done!");
    }
    String jasper_filename = "/blue_template.jasper";
    String pdf_filename = "/pdf_out.pdf";
    HashMap hm = new HashMap();

    public static void main(String[] args) throws ClassNotFoundException, InstantiationException, IllegalAccessException, JRException {
        System.out.println("Hello World!");
        new JasperTest().generateReport();
    }
}

, ... но это не сработало. Мне нужно было добавить в проект следующие библиотеки:

  • Обще-каротаж
  • Обще-варочный котел
  • Викисклад коллекция

Когда я попытался запустить исполняемый файл, я получил следующую ошибку:

Exception in thread "main" java.lang.NoClassDefFoundError: org/codehaus/groovy/control/CompilationFailedException

Я думал, что это не относится к файлу .jasper, который был скомпилирован без ошибок в ireports, но я понятия не имею, что происходит.

Ответы [ 2 ]

0 голосов
/ 25 января 2013

Джаспер не зависит от отличного языка, если язык отчетов не является "отличным". Отчеты, скомпилированные в iReport, по какой-то причине имеют по умолчанию отличные данные. Чтобы изменить его, щелкните правой кнопкой мыши на корне отчета, Свойства, установите язык на Java и перекомпилируйте.

0 голосов
/ 09 декабря 2011

Попробуйте добавить заводную библиотеку.Это решит проблему.http://groovy.codehaus.org/Download

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...