2014-10-23 4 views
0

Я хочу, чтобы создать модуль для генерации отчетов с использованием OSGI (Felix в Glassfish),OSGI Felix с Jasper Reports

Во-первых, я скачал и развертывается Jasper Reports Bundle, The Deploy возвращает "OK"

После этого я создал проект Bundle, который импортирует пакеты отчетов Jasper, Deploy of Bundle возвращает «OK»

Я беру OutputStream сервлета, и я беру Jashper InputStream из другого Bundle и обрабатываю это с помощью этого Код.

public void generateReportFromDatasource(InputStream inputStream, 
             OutputStream outputStream, 
Map parameters, 
JRDataSource jrDataSource) { 

    try { 
     JasperRunManager.runReportToPdfStream(inputStream, outputStream, 
       parameters,jrDataSource); 

    } catch (Throwable e) { 
     logger.error(e.getMessage(), e); 
    } 
} 

Но результат Jasper Report является ошибкой, но я не могу читать чистым.

[2014-10-23T17:22:36.362-0300] [glassfish 4.0] [SEVERE] [] [] [tid: _ThreadID=24  _ThreadName=Thread-4] [timeMillis: 1414095756362] [levelValue: 1000] [[ 
java.lang.NoClassDefFoundError: Could not initialize class net.sf.jasperreports.engine.util.JRStyledTextParser 
    at net.sf.jasperreports.engine.fill.JRBaseFiller.<init>(JRBaseFiller.java:124) 
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:89) 
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:104) 
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:62) 
    at net.sf.jasperreports.engine.fill.JRFiller.createFiller(JRFiller.java:179) 
at net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:108) 
at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:668) 
at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:649) 
at net.sf.jasperreports.engine.JasperRunManager.runToPdfStream(JasperRunManager.java:437) 
at net.sf.jasperreports.engine.JasperRunManager.runReportToPdfStream(JasperRunManager.java:858) 
at com.roshka.javorai.report.client.JavoraiReportManagerimpl.generateReportFromDatasource(JavoraiReportManagerimpl.java:75) 

Мой вопрос, я не могу не видеть ошибки, потому что JasperReports Bundle имеют JRStyledTextParser, и я не могу видеть класс, что он говорит, что не нашел.

+0

Испытательное устройство, (без OSGI) работает OK – jrey

ответ

1

Вам необходимо убедиться, что у вас есть все необходимые пакеты, импортированные. Манифест вашего сервлета, содержащего пачке необходимо импортировать его, как следующее:

Package-Import: net.sf.jasperreports.engine.util 
+0

У меня есть импорт, я решить мою проблему с этим https: // GitHub. com/ieugen/jasperreports-5.1.2-osgi – jrey

+1

ну да, вам также нужен пакет, экспортирующий эти пакеты :-) –

 Смежные вопросы

  • Нет связанных вопросов^_^