Вы можете пойти с этим решением
1) Загрузите артефакт, как вы описали (я тестировал с версией 2.5.2)
c:\test>mvn -DrepoUrl=http://repo1.maven.org/maven2/ -Dartifact=org.springframework:spring-core:2.5.2 -Dtransitive=true
2) Загрузите пом (-Dpackaging=pom
) этого артефакта
c:\test>mvn -DrepoUrl=http://repo1.maven.org/maven2/ -Dartifact=org.springframework:spring-core:2.5.2 -Dtransitive=true -Dpackaging=pom org.apache.maven.plugins:maven-dependency-plugin:2.2:get
3) Используйте скачанный pom для копирования всех зависимостей через dependency:copy-dependency
gaol
c:\test>mvn -DoutputDirectory=C:/test/dependency -f C:/<path-to-repository>/org/springframework/spring-core/2.5.2/spring-core-2.5.2.pom dependency:copy-dependencies
Вы найдете зависимости (включая test
и optional
scope!) В созданной папке c:\test\dependency
. Чтобы исключить тест и необязательную область видимости, используйте -DincludeScope=runtime
.
Вам необходимо динамически построить некоторую информацию о пути (например, путь к pom в вашем хранилище), чтобы настроить это решение, а также необходимо объединить сам артефакт с его зависимостями, но он должен работать в сценарии без создания специального pom (что может быть проще).