Хорошо, вот реальный ответ (я написал плагин зависимости):
Цели распаковки и копирования должны дублировать часть кода разрешения ядра. К сожалению, этот код разрешения на самом деле не был в пригодной для использования форме. Из-за этого эти цели не обрабатывают диапазоны версий, а также не разрешают артефакты непосредственно из реактора (я, честно говоря, просто никогда не реализовывал их, потому что это сломало слишком много существующих вариантов использования, да, ядро кода разрешения было настолько плохим)
Гораздо лучший подход - использовать формы этих целей для xxx-зависимостей. Эти цели требуют, чтобы Maven выполнил разрешение до того, как они были вызваны, поэтому он на 100% совместим. Вы можете использовать фильтры, такие как groupId и artifactId, чтобы эффективно получить список нужных артефактов, и конечный результат будет таким же.
Копирование и распаковка определенно более гибкие и были предназначены для гораздо более простого варианта использования, который у меня был в то время. Зная, что я знаю сейчас, я, вероятно, реализовал бы это больше как формы xxx-зависимостей для начала.
Все это говорит о том, что в Maven 3 код разрешения окончательно полностью отделен ... плагин зависимостей, управляющий большинством сценариев использования, необходимых для этого. Я начну работать над новой версией плагина, чтобы полностью использовать это в ближайшее время ... и хотя для этого потребуется maven 3, он, наконец, будет работать на 100% со всеми целями.