2013-10-11 63 views
0

我已完成項目,我的問題是放置報告的路徑或類路徑。對不起,我在做報告的新手。我跟iReport的.jrxml爲擴展,但的NetBeans做無法讀取文件.jrxml爲報告?獲取java.io.FileNotFoundException(NetBeans中的類路徑.jasper)

因此,我將此報告編譯爲.jasper並將此報告保存到文件夾src/reports/MenuProduk.jasper

我的問題是爲什麼我的Java NetBeans無法讀取我的報告?

我的代碼是:

public ReportViewProduk(String vName) { 
    initComponents(); 
    dao = new ProdukDao(); 
    produkList= dao.getListData(); 

    try { 
     Map m; 
     m = new HashMap(); 
     m.put("Print By", "Sanjaya"); 

     jasperPrint=JasperFillManager.fillReport(getClass().getResourceAsStream("/reports/produkReport.jasper"), 
            m,new JRBeanCollectionDataSource(produkList)); 
     if(PanelReport.getComponentCount()>0){ 
      PanelReport.removeAll(); 
     } 
     PanelReport.add(new JRViewer(jasperPrint)); 
     PanelReport.updateUI(); 
    } catch (JRException ex) { 
     System.out.println("Error : " + ex.getMessage()); 
     Logger.getLogger(ReportViewProduk.class.getName()).log(Level.SEVERE, null, ex); 
    } 
} 
+0

你應該把你的jrxmml代碼放在web-inf中。對於你的代碼檢查你可以提供絕對路徑。例如「linux/path/to/your/jasperFile」。 – user1791574

回答

0

檢查你的碧玉文件是否被複制到「類」目錄(請參閱「報告」目錄)。我想他們不會複製到那裏。檢查NetBeans設置以包含編譯項目時要複製的資源類型* .jrxml和* .jasper。