Программа не находит пакет ресурсов JasperReports (файл .properties) - PullRequest
2 голосов
/ 13 января 2011

Я пытаюсь использовать JasperReports в своем приложении JSF 2.0.Я также использую NetBeans 6.9.1, mojarra 2.0.3 и PrimeFaces 2.2.RC2.Я разработал пробный отчет в iReport 3.7.6.Я изменил одну статическую метку на текстовое поле, получая значение из файла комплекта ресурсов / .properties.Отчет запускается, как и ожидалось, из iReport, но когда я пытаюсь запустить его из своей программы, я получаю следующую ошибку:

SEVERE: javax.faces.FacesException: #{userReportBean.runReport}: java.util.MissingResourceException: Can't find bundle for base name Bundle, locale en_US

Отчет работает нормально без ссылки на пакет.Является ли мое единственное решение задавать параметры статических меток и передавать их во время запуска отчета?Или есть способ сообщить отчету, где найти файл .properties, когда отчет не запускается из iReport?

Ответы [ 2 ]

2 голосов
/ 14 января 2011

Это означает, что он не может найти ни один из файлов Bundle_en_US.properties, Bundle_en.properties или Bundle.properties в пути к классам. Вам нужно поместить его в путь к классам, к которому у JasperReports есть доступ.

Обратите внимание, что когда вы на самом деле поместили их в пакет, вам необходимо указать это и в базовом имени. Например. com.example.Bundle для случая, когда они фактически помещены в пакет с именем com.example.

0 голосов
/ 03 февраля 2011

Вы должны поместить пакет в ту же папку, где находится ваш файл .jrxml.Если ваши отчеты называются «myreport.jrxml», вам необходимо создать папку с именем «myreport_Bundle».

Внутри этой папки находится файл свойств:

  • myreport.properties (по умолчанию)файл)
  • myreport_en_US.properties (американский английский)
  • myreport_es_ES.properites (испанский из Испании)
  • и т. д.

Вам также необходимо установитьсвойства "Комплект ресурсов" в вашем отчете (например, через iReport).Значение свойства совпадает с именем файла, в данном случае «myreport» (не нужно добавлять «_Bundle»).

...