Я интегрировал JasperReports
на моей NetBeans
платформы, и я могу генерировать отчеты, используя следующий код:Получение исключения java.lang.NoSuchMethodError при использовании GWT + JasperReports
Map<String, Object> params = new HashMap<String, Object>();
Connection conn = DriverManager.getConnection("databaseUrl", "userid", "password");
JasperReport jasperReport = JasperCompileManager.compileReport(reportSource);
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, params, conn);
JasperExportManager.exportReportToHtmlFile(jasperPrint, reportDest);
JasperViewer.viewReport(jasperPrint);
Этого материал отлично работает.
Но я не пытаюсь интегрировать JasperReports
с GWT
. У меня есть сервер GlassFish
.
Я получаю объект Connection с помощью followind код:
public static Connection getConnection() {
try {
String JNDI = "JNDI name";
InitialContext initCtx = new InitialContext();
javax.sql.DataSource ds = (javax.sql.DataSource) initCtx.lookup(JNDI);
Connection conn = (Connection) ds.getConnection();
return conn;
} catch (Exception ex) {
ex.printStackTrace();
}
return null;
}
, а затем
Map<String, Object> params = new HashMap<String, Object>();
JasperReport jasperReport = JasperCompileManager.compileReport(reportSource);
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, params, getConnection());
JasperExportManager.exportReportToHtmlFile(jasperPrint, reportDest);
JasperViewer.viewReport(jasperPrint);
, но я всегда получаю сообщение об ошибке. Вот стоп-трасса:
com.google.gwt.user.server.rpc.UnexpectedException:
Service method 'public abstract java.lang.Boolean com.client.service.GenerateReport()'
threw an unexpected exception: java.lang.NoSuchMethodError:
net.sf.jasperreports.engine.fonts.SimpleFontFamily.setExportFonts(Ljava/util/Map);
Я реализую это на сервере. У меня есть вызовы RPC, чтобы заставить этот метод работать, когда нажимается кнопка.
Не могли бы вы помочь мне, как работать над этим. (То есть для интеграции JasperReports
с GWT
).
Я был бы очень признателен за любые объяснения с помощью некоторого кода, поскольку я просто начинающий.
Благодаря
Какая ошибка вы получаете? –
Да, лучшая классификация ошибок определенно поможет. – markovuksanovic
Ошибка, которую я получаю: com.google.gwt.user.server.rpc.UnexpectedException: метод службы 'public abstract java.lang.Boolean com.client.service.GenerateReport()' сделал неожиданное исключение: java. lang.NoSuchMethodError: net.sf.jasperreports.engine.fonts.SimpleFontFamily.setExportFonts (Ljava/util/Map); – Barry