2013-03-02 55 views
2
  1. 我在加載成功加載的netbeans中的jrxml文件。
    但是當我部署它作爲一個jar文件它給了以下錯誤:

錯誤FileNotFoundException Jasperreports

net.sf.jasperreports.engine.JRException: java.io.FileNotFoundException: src \Reports\print.jrxml(The system cannot find the path specified) 

代碼

try 
{ 
jasperdesign=JRXmlLoader.load("src/Reports/print.jrxml"); 
} 
catch(Exception error) 
{ 
Notify.showMessageDialog(null, ""+error+"", "Error Loading Appointment JasperForm", Notify.ERROR_MESSAGE); 
} 

回答

1

我懷疑命名的目錄src在你的罐子裏

嘗試使用ClassLoader's method getResourceAsStream將InputStream獲取到打包的jrmx文件,並將其傳遞給採用InputStream作爲參數的JRXmlLoader's load方法。

getResourceAsStream的參數應該是jar中jrxml的完整限定名。也就是說,包括包名。

+0

否dir ** src **不在jar文件所在的位置。 – 2013-03-02 15:27:23

+0

** InputStream in = getClass()。getResourceAsStream(「src/Reports/Print.jrxml」); ** ** jasperdesign = JRXmlLoader.load(in); **是這樣嗎? – 2013-03-02 15:29:54

+0

名爲'src'的目錄不是您的jar文件中的目錄/包結構的一部分。一個jar文件只是一個zip文件。用你選擇的zip程序打開它,看看裏面有什麼。幾乎是 – A4L 2013-03-02 15:30:42