Вопрос по jasper-reports, java, filenotfoundexception – Почему мое Java-приложение не видит * .jrxml?

1

Мой проект имеет следующую архитектуру:

Мой шаблон "report1.jrxml»тогда, когда я извиняюсь этот код:

  TableModel model = (TableModel) masterTable.getModel();    
  JRTableModelDataSource data = new JRTableModelDataSource(model);
  String reportSource ="report1.jrxml";
  try {
            JasperReport jr = JasperCompileManager.compileReport(reportSource);
            JasperPrint jp = JasperFillManager.fillReport(jr, null,data);
      } catch (JRException ex) 
      {
            Logger.getLogger(master.class.getName()).log(Level.SEVERE, null, ex);
      }

Я получаю эту ошибку (яИзвините за французский язык, но вполне понятно: p):

Grave: null
net.sf.jasperreports.engine.JRException: java.io.FileNotFoundException: report1.jrxml (Le fichier spécifié est introuvable)
    at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:176)
    at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:156)
    at net.sf.jasperreports.engine.JasperCompileManager.compile(JasperCompileManager.java:171)
    at net.sf.jasperreports.engine.JasperCompileManager.compileReport(JasperCompileManager.java:448)
    at testjasper.master.jButton1ActionPerformed(master.java:319)
    at testjasper.master.access$900(master.java:25)
    at testjasper.master$FormListener.actionPerformed(master.java:259)

Netbeans говорит, что файл можетне найти, но, как вы можете видеть на скриншоте, он существует? Как я могу решить это?проблема» ? скорее чтопроблема? Мое почтение. :п

Вы пытались добавить каталог пути к пути? то есть `testjasper / report1.jrxml ' Kaleb Brasee

Ваш Ответ

1   ответ
2

потому что файл является встроенным ресурсом (он несуществует как файл, но запись в файле Jar)

Вы должны получить ссылку на него с помощьюgetClass().getResource("/testjasper/report1.jrxml") который вернет.URL

По памяти вы должны быть в состоянии ДжасперInputStream, это может быть достигнуто с помощьюURL#openConnection

Ну вотс работы: р Marwen Trabelsi
По нашему опыту, этоОбычно проще (не говоря уже о том, что быстрее) доставлять предварительно скомпилированные отчеты вместо компиляции во время выполнения MadProgrammer

Похожие вопросы