2016-04-25 7 views
0

Я использую отчеты Jasper в своем приложении Grails 3 для создания PDF-файлов. У меня была проблема с плагином Jasper Report для Grails. Поэтому мы используем Jasperreport jars для создания PDF.Jasper jrxml файлы, не включенные в Grails 3 war

compile 'net.sf.jasperreports:jasperreports:6.2.1' 

Я создал «JasperReports» в проектном уровне и добавлены все jrxml и яшма файлы. В среде разработки я использую следующий способ компиляции отчета.

jasperReport = JasperCompileManager.compileReport('JasperReports/FYF_Report.jrxml') 

Все отлично работает в разработке, но когда генерируется война это не включая папку "JasperReports. Я попытался добавить папку в conf, но она не сработала.

Дайте мне знать, если у меня отсутствует какая-либо конфигурация, чтобы включить в папку «JasperReports» на войне.

+0

Есть ли у вас шаг за шагом ссылкой, которая объясняет, как настроить Grails 3 использовать отчеты яшмы? –

+0

Я выполнил этот пример для создания файлов pdf -http: //ezsnippet.blogspot.com/2014/07/grails-using-jasper-report-without.html – Divya

+0

Для лучшей производительности вы можете пропустить компиляцию jrxml-файла каждый раз и используйте файл .jasper. – Divya

ответ

0

Я решил проблему, добавив папку JasperReports в src/main/webapp. Путь доступа к файлам будет отличаться в местном и производстве, поэтому я получаю реальный путь от контекста, как показано ниже

  def sc=session.getServletContext() 
      def reportsPath=sc.getRealPath("/") 
      jasperReport = JasperCompileManager.compileReport(reportsPath+'JasperReports/FYF_Report.jrxml')