У вас есть жесткий код выходного каталога в исходном коде.
Там всегда могут быть такие проблемы, как сервер не является средой Windows, или папка «C: / REPORTS_FOLDER» отсутствует в server.
Было бы лучше иметь его как настраиваемое свойство.
JasperViewer
является компонентом swing , который запускается на компьютере, который выполняет команду (обычно используется в установленных приложениях), поэтому, если вы выполняете команду на сервере он откроется на сервере (или выбросит HeadlessException
, если не настроен на наличие экрана), вывод, который мы не можем использовать этой командой в нашем серверном приложении.
Вы можете использовать апплет для запуска команды на клиентском компьютере, но я настоятельно рекомендую не использовать ее (ее поддержка в браузере уменьшается , поэтому вы не можете уверен, что он работает для всех клиентов)
Обычно то, что делается, это то, что экспорт в pdf (html или другой формат выбора) отправляется в клиентский браузер, клиент может открыть файл с любимым программы и просмотреть его.
В вашем примере кода, который вы уже экспортируете в pdf, передайте pdf напрямую клиенту. Следовательно, удалите
JasperViewer.viewReport(print, false);