У нас есть существующий проект, в который мы хотим интегрировать JasperReports и Jaspersoft Studio. Этот проект имеет следующие критерии:
- Проект весенней загрузки
- Gradle Build
- Мультимодульный проект
- IntelliJ as IDE
- Отчеты будут генерироваться приложением с использованием библиотеки JasperReports
- Отчеты будут создаваться с использованием Jaspersoft Studio (здесь никто не хочет писать этот код JRXML вручную)
- Мы хотим использовать режим предварительного просмотра в Jaspersoft Studio
Текущая идея / реализация
Мы хотим использовать как можно больше существующего кода, а не изобретать велосипед. Поэтому мы склонны использовать уже существующие классы JasperReports, предоставляемые spring-webmvc, такие как JasperReportsPdfView.
Проблема 1: пакеты ресурсов
У меня нет проблем с интеграцией данного MessageSource из Spring Boot с нашими отчетами на уровне приложения, поскольку представления JasperReports Spring-webmvc уже устанавливают пакет ресурсов для Spring MessageSource.
Но это не работает в режиме предварительного просмотра Jaspersoft Studio. В Studio я могу установить только одно имя пакета ресурсов для отчета. Реальность такова, что Spring позволяет иметь несколько файлов .properties, связанных с одним MessageSource, которые объединяются в один источник переводов.
- Как мне зарегистрировать несколько пакетов ресурсов в Jaspersoft Studio в одном отчете?
- Каков наилучший способ обработки пакетов ресурсов с помощью JasperReports?
Задача 2: classpath
Конечно, для некоторых сложных отчетов потребуется включить в отчет классы моделей нашего приложения или служебные функции (собственные и сторонние).
Поскольку classpath проекта довольно сложный (многомодульная сборка с зависимостями между модулями, а также внешними), я не вижу простого решения, как интегрировать его с Jaspersoft Studio, чтобы получить автозаполнение и рабочий режим предварительного просмотра. А поскольку Jaspersoft Studio разработана в Eclipse, не существует простого способа интеграции с нашим проектом IntelliJ.
- Существует ли решение этой проблемы?
- Существуют ли альтернативные подходы?