Maven и Ivy оба делают что-то похожее, но в итоге вы все равно получите баночки, добавленные в папку lib вашего приложения.
Также вы потеряете контроль над версиями ваших jar-файлов, которые ваше приложение будет использовать во время выполнения. Если обновление вашего дистрибутива изменяет эти файлы, ваше приложение может не изменить сигнатуру API. Развертывание на компьютерах, отличных от ваших, также может создавать проблемы для обнаружения этих файлов. Наконец, если ваше приложение использует много jar-файлов, у вас могут возникнуть проблемы с созданием пути к классу, который достигнет пределов того, что может храниться в переменной окружения.
Я не знаю, есть ли такие системы, доступные для jar-файлов, так как создание папки lib является наиболее используемым, простым и безопасным подходом с небольшим недостатком - дублировать jar-файлы для каждого приложения. Это говорит о том, что дисковое пространство дешевое, а банки редко достигают максимума, превышающего 1 мегабайт, поэтому они незначительные.
Это означает, что вы можете создать расширение для Ivy, например, которое сделает вашу систему репозиторием, а затем процесс сборки скопирует файлы jar из разных мест в вашей системе в папку lib вашего проекта, минуя ограничения пути к классам. , Плагин может узнать местоположение jar-файлов, используя базу данных менеджера пакетов, если таковая имеется, вы также можете обнаружить версии из того же источника. Таким образом, вы будете поддерживать настраиваемые местоположения, если для установки файлов jar используется менеджер.
Это был бы мой первый путь исследования, чтобы решить это, если бы у меня было время и энергия.
При этом мне все еще интересно, принесут ли инвестиции достаточную прибыль, а не просто скопируют банки. Вы лучше меня судите, чтобы оценить это для своих собственных нужд.