Если вы не можете найти лучшего решения, должно быть возможно создать урезанный JAR-файл для Jasper Reports. Предполагается, что инструмент GenJar может создавать JAR-файл на основе его статических зависимостей.
Давным-давно, я использовал инструмент обфускации «Classmaster» от Zelix, который дал вам возможность удалить классы, которые не были использованы. Я думаю, что это могло бы даже лишить неиспользованные методы, хотя моя память немного туманна. (Я использовал его на закрытом исходном продукте ..., который с тех пор исчез с IP-камеры «blackhole».)
EDIT: еще один вариант - ProGuard, который выполняет обфускацию и удаление, как Classmaster, за исключением того, что он является открытым исходным кодом. (К сожалению, они, похоже, неправильно сконфигурировали ссылку на свой веб-сайт SF. Однако ссылка выше работает.)
Конечно, если Jasper Reports использует Class.forName()
, вам нужно будет идентифицировать все соответствующие классы, чтобы добавить их в качестве «корневых» зависимостей для который вы используете. Кроме того, вам нужно будет посмотреть лицензию Jasper Reports, чтобы убедиться, что вам разрешено «распространять» удаленный JAR-файл.
Jasper загружает классы динамически, вам нужно выяснить зависимости. – sventechie