我写了一个简单的应用程序来从我的服务器上获取命令。我决定能够运行一些报告并在JasperViewer中显示它们,然后从那里决定是否打印或导出/保存为其他格式。它工作正常,当我运行在的NetBeans项目,但一旦我编译它,并将其发布到我的服务器,运行报告,但我不能让报告在JasperViewer打开。实际上,观众根本不会启动。Java Web Start应用程序中的JasperReports
这里是我的代码:
try {
Connection con = DriverManager.getConnection(
"jdbc:mysql://MYDATABASE",
"MY_UN",
"MY_PW");
java.sql.Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("SELECT `Product_ID` AS PRODUCT_ID, `Name` AS PRODUCT_DESCRIPTION, `Qty` AS QTY, `Price` AS PRICE_EACH_LINE, `Line_Total` AS LINE_TOTAL_LINE FROM `orderlines`;");
JRResultSetDataSource resultSetDataSource = new JRResultSetDataSource(rs);
final Map<String, Object> parameter = new HashMap<String, Object>();
parameter.put("DEALER_NAME", "TY JACOBS");
parameter.put("DEALER_STREET", "MY_ADDRESS");
parameter.put("DEALER_CITY_STATE_ZIP", "MY_CITY_STATE_ZIP");
parameter.put("DEALER_PHONE", "MY_PHONE_NUMBER");
ClassLoader classloader = getClass().getClassLoader();
InputStream url = null;
url = classloader.getResourceAsStream("OK/report3.jrxml");
JasperReport jasperReport = JasperCompileManager.compileReport(url);
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameter, resultSetDataSource);
JasperViewer.viewReport(jasperPrint, false);
} catch (SQLException|JRException ex) {
Logger.getLogger(DbReportDSFill.class.getName()).log(Level.SEVERE, null, ex);
}
还有一两件事,我可以在本地也没有问题运行它。它似乎只是我发布到服务器,我无法在JasperViewer得到报告。