Лучшая стратегия работы с необязательными зависимостями

Сейчас я удаляю зависимость Spring от Flyway. Однако в будущем могут потребоваться другие типы зависимостей для поддержки подмножества пользователей (например, поддержка JBoss VFS).

Какой лучший способ поддержки необязательных зависимостей(необязательный=true в Maven POM)?

Качеством решения могут быть:

  • Простота использования для конечных пользователей (минимальная работа, необходимая для использования функциональности при наличии зависимости)
  • Простота использования для разработчиков (код, связанный с необязательными зависимостями, должен быть максимально читаемым и настолько простым, насколько это возможно)
  • Нет ненужных обязательных зависимостей (если некоторым конечным пользователям не нужна эта функциональность, нет необходимости извлекать зависимость)

26
задан Axel Fontaine 8 November 2013 в 05:25
поделиться