【问题标题】:Jasper Report cannot find the class pathJasper Report 找不到类路径
【发布时间】:2015-05-29 12:23:55
【问题描述】:

我是 jasper 报告的新手。我正在使用 JasperReport 最新版本 6.0.3,因此在加载我创建的用于打印帐单的报告时遇到问题。然后我收到如下错误消息,

net.sf.jasperreports.engine.JRException: java.io.FileNotFoundException: I:\Projects\Testsrc\com\thus\test\Blank_A4_Landscape.jrxml (The system cannot find the path specified)
    at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:221)
    at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:192)
    at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:183)
    at com.thus.test.Test.main(Test.java:29)
Caused by: java.io.FileNotFoundException: I:\Projects\Testsrc\com\thus\test\Blank_A4_Landscape.jrxml (The system cannot find the path specified)
    at java.io.FileInputStream.open0(Native Method)
    at java.io.FileInputStream.open(Unknown Source)
    at java.io.FileInputStream.<init>(Unknown Source)
    at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:216)

这是我的示例代码;

try {
        connection = getConnection("jdbc:sqlserver://xxx.xxx.xx.xx:1433;DatabaseName=Thusya");

        JasperDesign jasperDesign = JRXmlLoader.load(new File("")
                .getAbsolutePath()
                + "src/com/thus/test/Blank_A4_Landscape.jrxml");
        String sqlString = "SELECT * FROM TABLE1 WHERE CNO = '156801'";
        JRDesignQuery designQuery = new JRDesignQuery();
        designQuery.setText(sqlString);
        jasperDesign.setQuery(designQuery);

        JasperReport jasperReport = JasperCompileManager
                .compileReport(jasperDesign);
        JasperPrint jasperPrint = JasperFillManager.fillReport(
                jasperReport, null, connection);

        JasperViewer.viewReport(jasperPrint);

    } catch (JRException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

以前的堆栈没有解决我的问题,任何人都可以指导我继续前进吗????

【问题讨论】:

    标签: java jasper-reports


    【解决方案1】:

    您没有在 src 之前添加/。这就是您收到错误消息的原因。

    JasperDesign jasperDesign = JRXmlLoader.load(new File("")
                .getAbsolutePath()
                + "/src/com/thus/test/Blank_A4_Landscape.jrxml");
    

    希望对你有所帮助。

    【讨论】:

    • @thusya 更重要的是,您应该接受这个正确答案。因为你没有,所以 raju 也试图回答。
    • 如果我使用这种方式,我得到了这个异常 net.sf.jasperreports.engine.JRException: java.io.FileNotFoundException: I:\Projects\AttemptDelivery\AttemptDelivery\src\com\ocs\delivery\ view\DeliveryReport.jrxml(系统找不到指定的路径)
    【解决方案2】:

    这个对我有用,

    JasperDesign jasperDesign = JRXmlLoader.load(new File(
        "C:/New folder/Blank_A4_Landscape.jrxml"));
    

    试试这个,然后告诉我。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-25
      • 2013-12-17
      • 1970-01-01
      • 1970-01-01
      • 2019-05-20
      • 1970-01-01
      相关资源
      最近更新 更多