IMO, это немного зависит от вашего конкретного случая использования.
Вариант 1, безусловно, хороший путь, но им может стать сложнее / сложнее управлять, если у вас уже есть родительский проект и особенно если у вас есть несколько из этих общих наборов зависимостей (вы можете потеряться в сложной иерархии нескольких родителей).
Другой недостаток варианта 1 заключается в том, что (AFAIK) невозможно исключить унаследованные зависимости, поэтому, если ваш проект расширяет родительский компонент, у вас нет другого выбора, кроме как унаследовать все зависимости.
В этом случае вариант 2 проще, понятнее и более гибок. Создайте проект maven типа POM и добавьте к нему зависимость, где это необходимо. С помощью этого решения можно исключить определенные зависимости из проекта POM, что снова делает это решение более гибким.