В настоящее время я пытаюсь удалить зависимость Spring от Flyway. В будущем, хотя другие типы зависимостей могут потребоваться для поддержки подмножества пользователей (например, поддержка JBoss VFS).
Каков лучший способ поддержки факультативных зависимостей (необязательно = true в Maven POM)?
Качествами решения будет:
- Простота использования для конечных пользователей (минимальная работа, требуемая для использования функциональности, если присутствует зависимость)
- Простота использования для разработчиков (код, связанный с дополнительной зависимостью, должен быть максимально читабельным и простым)
- Никаких ненужных зависимостей (если какой-либо конечный пользователь не нуждается в этой функции, нет необходимости тянуть зависимость)