При попытке создать приложение на основе Spring необходимо выяснить все необходимые зависимости, которые будут иметь приложение.
Например, я использовал HibernateTemplate, и каждый раз, когда я запускаю приложение, появляется исключение ClassNotFound. Поэтому я «гуглю» для jar-файлов, содержащих этот конкретный класс, после поиска mvnrepository, чтобы найти подходящий артефакт. Всегда путайте, какую версию использовать.
И это происходило снова и снова, и только после нескольких часов и нескольких десятков зависимостей приложение стало работоспособным.
Но даже после этого я пытался использовать свое приложение. на другом компьютере с немного отличающимися параметрами, и класс slf4j не обнаружил ошибку, даже после тщательного тестирования на компьютере разработчика все еще отсутствуют некоторые зависимости.
Теперь все работает нормально, но я хочу распространять свое приложение и не уверен, что в другой системе не будет отсутствовать зависимость.
Итак, что является наилучшей практикой для определения всех необходимых зависимостей не только во время разработки, но и во время выполнения? Есть какой-нибудь инструмент для этого?
Как можно управлять путаницей версий, когда существуют десятки зависимостей, каждая из которых имеет свою версию?