> Когда-то давно, когда я ещё не обходил Java-программы стороной (где-то году в
> 2009-м), а пытался разбираться, почему они не собираются, не раз сталкивался
> с ситуацией, когда нужна была именно определённая версия, ограниченная не только
> снизу, но и сверху. Может просто не повезло. Может сейчас такого
> уже нет.И сейчас такое есть. И в любимом многими С++ и в Java, и даже в C#.
Как только выходит мажорная версия с несовместимой сменой API, так печаль - приложение не может использовать новую версию (не совместимую) без переписывания исходного кода. Печально, но факт.
Пример:
Было Person.setFIO(String fio), где ФИО слеплены в одно поле. Разработчики либы убрали .setFIO и сделали три метода .setFirstName, .setLastName, .setPatronymicName (API без обратной совместимости).
Пока не придумано технологии, которая самостоятельно подменит все вызовы setFIO, нарисует на UI три новых поля с локализацией и отрефакторит сопутствующий код.