плагин Maven Shade объединяет классы Java вашего проекта вместе с его зависимостями в единый über JAR-файл. Если есть какое-либо совпадение (например, две зависимости содержат класс с одним и тем же полным именем), он выдает предупреждение и (если я правильно понимаю) использует последнюю версию этого класса, с которой он сталкивается.
Мне это кажется слишком слабым; такое перекрытие может легко вызвать связывание или другие проблемы во время выполнения, например. когда перекрывающиеся классы содержат разный байт-код.
Можно ли настроить шейд-плагин на сбой сборки при перекрытии вместо того, чтобы просто выдавать предупреждение? Это было бы особенно полезно на сервере CI, где никто не просматривает файлы журналов, чтобы узнать, нет ли каких-либо предупреждений.