Я использую Maven-Shade-Plugin для создания runnable Uber-jar. Согласно последнему кадру на этой странице размер банки может быть сведен к минимуму с помощью:
<configuration>
<minimizeJar>true</minimizeJar>
</configuration>
Но эта функция не учитывает классы, объявленные в файле log4j.properties. Следовательно, например, org.apache.log4j.appender.TimeAndSizeRollingAppender
не включен в Uber-jar, хотя он объявлен в файле log4j.properties.
Я верю, что у меня будет такая же проблема с Spring. Если мой код относится только к интерфейсу A, а мой файл Spring содержит экземпляр класса B, который реализует A, то B не может быть добавлен в банку, так как его не в коде.
Как я могу решить эту проблему?