Если вы скомпилируете свои источники в банку, все в порядке.Но jar a - это просто zip-файл, который можно просто распаковать с помощью unzip / jar, после чего вы можете изменить содержимое jar, что означает, что вы можете просто изменить содержимое и упаковать его в jar.Итак, ясно: это безопасно, это просто неправильно.
Если вы создаете свои артефакты через maven, вы развертываете свои артефакты в менеджере хранилища, и в процессе выпуска создается сумма SHA1 ... которая может бытьпроверено во время использования зависимостей (скачать).Конфигурация по умолчанию просто выводит предупреждение, если контрольная сумма в хранилище не совпадает с вычисленной по архиву jar.Вы можете изменить конфигурацию, чтобы прервать сборку, если контрольная сумма неверна .Контрольная сумма предназначена только для определения модификаций артефактов, что также не на 100% безопасно, поскольку может случиться так, что у вас атака «человек посередине», которая может не только изменить содержимое банки, но и контрольную сумму.С другой стороны, подпись артефакта используется для определения того, кто создал этот артефакт.В некоторых средах имеет смысл подписывать артефакты во время процесса выпуска.
Обновление Чтобы не допустить присоединения "человек посередине", центральный репозиторий Maven, используемый в течение длительного времени, вместо httpshttp.