Приложение One-Jar не отображает содержимое сценария Jasper Report Scriptlet - PullRequest
0 голосов
/ 14 февраля 2019

Я работаю над унаследованным Java-приложением, в котором есть много скомпилированных отчетов .jasper.Недавно что-то изменилось с тем, как офисная ИТ-компания, с которой я работаю, развертывает приложение, и отчеты перестают работать, поскольку приложение больше не может найти отчеты в файловой системе.Я обновил сборку так, чтобы отчеты включались в classpath, а FileNotFoundException исчезал.

Теперь, однако, отчеты отображаются только частично.Некоторые параметры, заголовки, в основном, любой контент, который не связан с Scriptlet, прекрасно воспроизводится, но все, что связано с Scriptlet, отображает только нули.

Я нашел только один способ решить эту проблему.Если я помещу файлы .jasper в строку с файлами .java и динамически запускаю приложение через eclipse, то сценарии также правильно отображаются.Если я загружаю их из другого места и запускаю приложение через eclipse, тогда возвращаются нулевые значения.

Мой дистрибутив использует One-Jar для объединения моих зависимостей.

Может ли путь следования повлиять на рендеринг сценариев?Я подтвердил, что md5 файлов .jasper совпадают при загрузке внутри и снаружи затмения, поэтому я уверен, что в каждом случае загружается один и тот же файл.

1 Ответ

0 голосов
/ 15 февраля 2019

Jasper Reports не совместим с проектом One-jar .

Он нигде не задокументирован, но с тем, как one-jar переписывает путь "preeding main", который он выиграл "не сможет найти скриптлеты.К сожалению, в этом случае Джаспер молча терпит неудачу.

...