Я пытаюсь понять, как скопировать все зависимости в явную версию и все необходимые зависимости.
Например: для моего проекта требуется версия 3
сторонней библиотеки под названием foobar
. Я хочу скопировать библиотеки версии 3
в папку с именем lib-foobar-${foobar.version}
.
В этой папке находятся те jar-файлы, которые необходимы для использования foobar в версии 3. Это означает сам jar-файл и все зависимые jar-файлы, объявленные в foobar pom.
В настоящее время я использую пакет org.codehaus.mojo:maven-dependency-plugin:2.1
с целью копирования зависимостей в пакете Phase.
Моя конфигурация:
<configuration>
<outputDirectory>${project.build.directory}/lib-foobar-${foobar.version}</outputDirectory>
<includeGroupIds>com.foobar</includeGroupIds>
<excludeTransitive>false</excludeTransitive>
<excludeScope>test</excludeScope>
<includeScope>compile</includeScope>
</configuration>
Я не хочу перечислять все разрешенные и запрещенные библиотеки, потому что переход на более новую версию происходит каждый месяц.
Существуют ли какие-либо другие инструменты, которые могут это сделать, или есть какие-то хитрости для этого?