-1

我创建了一个将使用JasperReports API的 Java 项目。我已经在NetBeans内部和外部(同一台机器)进行了测试,它工作正常。但是当我尝试在另一台机器上运行它时,报告不会加载。

我的代码是:

package reportmonitory;

import java.sql.*;
import net.sf.jasperreports.engine.JasperCompileManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.swing.JRViewer;
import javax.swing.*;

public class monthlyreport extends JFrame {

    Connection con;
    Statement stmt;
    ResultSet rs;

    void showReport() {
        try {
            String host = "jdbc:mysql://192.168.10.11/rmcdb";
            String uName = "root";
            String uPass = "";
            Class.forName("com.mysql.jdbc.Driver").newInstance();
            con = DriverManager.getConnection(host, uName, uPass);
            stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
            String reportName = "reports/finalreport.jasper";
            java.io.InputStream is = this.getClass().getClassLoader().getResourceAsStream(reportName);
            JasperPrint print = JasperFillManager.fillReport(is, null, con);
            JRViewer viewer = new JRViewer(print);
            viewer.setOpaque(true);
            viewer.setVisible(true);
            this.add(viewer);
            this.setSize(1000, 1000);
            this.setVisible(true);
            this.setDefaultCloseOperation(HIDE_ON_CLOSE);
        } catch (Exception ex) {
            System.out.println("CAUSE: " + ex.getCause());
            System.out.println("MESSAGE" + ex.getMessage());
            System.out.println("LOCAL MESSAGE" + ex.getLocalizedMessage());
            ex.printStackTrace();
        }
    }

    public static void main(String args[]) {
        new monthlyreport().showReport();
    }
}
4

1 回答 1

0

以下是一些建议/要研究的事情:

  • 防火墙后数据库的端口转发
  • 指定端口以防数据库的连接端口已更改
  • 确保 'reports/finalreport.jasper' 存在
  • 包装(由于项目移动)
  • 确保所有 .jar's / JasperReport API 文件都在那里
  • 该项目调用的所有其他文件都在那里
  • 网络问题/找不到主机名:192.168.10.11

编辑:

该错误来自无法找到“npa logo.jpg”。确保它存在于正确的路径上。我注意到您正在“C:\Users\mwaluda”上查找它,并且您正在 C:\Users\Aboud 上运行 JaspterReports。如果这是另一台机器,那条路径仍然有效吗?

于 2012-08-15T15:26:15.253 回答