2015-01-13 86 views
-1

我正在開發一個使用ireport作爲報告工具的java銷售系統,它在IDE(Netbeans)中正常工作,但是在任何地方安裝後,ireport不再工作。任何人都可以幫助我可能已經排除的圖書館。或者我誤解的地方ireport在執行後無法工作

+0

你加iReport的jar文件到構建路徑?嘗試使用cmd運行您的jar文件,以查看發生了哪個異常。在這裏發帖 – Sarz

+0

我沒有在構建路徑中添加jar文件,當我在cmd上運行時,它抱怨我的數據庫連接類不是關於碧玉報告的任何內容。這只是卡住請幫助 –

+0

您使用哪個數據庫?並且你是否在構建路徑中添加了jdbc驅動程序?還添加依賴關係在部署程序集 – Sarz

回答

0

您的可執行jar文件無法正常工作,因爲它無法在包裝中找到其依賴的jar文件。你也可以通過運行cmd來獲得確切的異常。像: CMD - >包含你的JAR文件打開目錄 - >寫jarfile.jar 你必須做以下步驟:

  1. 項目的開放性
  2. 點擊構建=>包裝
  3. 比你必須在副本依賴liraries檢查
  4. 輸出包將包中的jar文件的項目和庫lib文件夾
  5. 你必須把你的lib文件夾,以及如果你移動你的罐子文件

enter image description here

+0

我做了你所說的我應該做的所有事情,但仍然沒有解決問題,我下載了jasper報告庫,並在其lib文件夾中包含了所有的jar文件,以測試我是否遺漏了一些依賴關係,但仍然沒有顯示報告打包。 –

+0

在lib文件夾中是否包含所有依賴的jar文件? – Sarz

0

我做了一個臨時的解決方案有關的iReport /碧玉報告不開放/製作一個可執行的這個問題。

似乎程序無法在其默認位置找到.jrxml/.jasper文件(在通常使用構建和清單文件的項目文件夾中),所以替代方法是將報告文件保存在硬盤中的某處。恩。 「D:/ Files and Documents/Documents/report1.jrxml」

這有效,但不知何故不是正確的方法。

+0

也許你可以澄清它是如何「不正確的方式」? –

+0

我的意思是大多數程序員會想用相對路徑來做到這一點。如果您要鏈接的文件位於同一個目錄中。但我不知道爲什麼它不能在可執行文件上工作。所以我決定使用一個絕對路徑,如果我決定在另一臺計算機上使用它,這將是一個問題。 –

0
  1. 後您設計在JRXML報告,然後編譯它 (click that icon)
  2. 然後把你的jrxml報告給jasper,像這樣。

    Map<String, Object> nim = new HashMap<String, Object>(); 
    nim.clear(); 
    Statement stmt2 = SGB.c.createStatement(); 
    ResultSet rs = stmt2.executeQuery("select * from mytable;"); 
    JasperPrint jasperPrint = JasperFillManager.fillReport("report.jasper", nim, new JRResultSetDataSource(rs)); 
    JasperViewer jv = new JasperViewer(jasperPrint); 
    
    formReport fformReport = new formReport(mainform,true); 
    fformReport.setBounds(jv.getBounds()); 
    fformReport.getContentPane().add(jv.getContentPane()); 
    fformReport.setLocationRelativeTo(null); 
    fformReport.setVisible(true); 
    
相關問題