web-dev-qa-db-ja.com

dependency:getまたはmaven-download-pluginを使用せずにコマンドラインでMavenアーティファクトをダウンロードするにはどうすればよいですか?

コマンドラインでアーティファクトとその依存関係をダウンロードしたいと思います。つまり.

mvn [some plugin]:[goal] -DartifactId=[artifactId] -DgroupId=[groupId] -Dversion=[version]

Mvndependency:getを試しましたが、これにはリモートリポジトリのリストが必要なようです。 settings.xmlですでに指定されているものをmvnに使用させたい

maven-download-plugin も試しましたが、これは正しく動作しないようです(antの推移的な依存関係としてxerces-implをダウンロードしようとしましたが、解決に失敗しました。どちらもxerces-impl antも私のアーティファクトの依存関係です)。

あなたの助けに感謝します。

27
Chris Beach

依存関係の最新バージョンを使用してみてください:get、それは私のために動作します

mvn org.Apache.maven.plugins:maven-dependency-plugin:2.4:get -DartifactId=[artifactId] -DgroupId=[groupId] -Dversion=[version]

私のために働く

23
Guy

ここではcopyゴールがより適切であり、出力ディレクトリも指定できます(getゴールでは非推奨です):

mvn org.Apache.maven.plugins:maven-dependency-plugin:2.8:copy -Dartifact=groupId:artifactId:version[:packaging][:classifier] -DoutputDirectory=[target] -Dmdep.useBaseVersion=true

mdep.useBaseVersion=trueは、スナップショットビルドからタイムスタンプを削除します。

37
Gili

TestNGのバージョン6.9.4をローカルの〜/ .m2/repositoryにダウンロードする例(maven-dependency-plugin:getを使用):

mvn org.Apache.maven.plugins:maven-dependency-plugin:RELEASE:get \
-Dartifact=org.testng:testng:6.9.4:jar

JUnitバージョン4.11を現在の作業ディレクトリにダウンロードする例(maven-dependency-plugin:copyを使用):

mvn org.Apache.maven.plugins:maven-dependency-plugin:RELEASE:copy \
-Dartifact=junit:junit:4.11:jar
3
RCross

最も簡単な解決策は、適切な依存関係を持つ単純なPOMを作成し、そのミニプロジェクトでmvn cleanパッケージを実行することです...

0
khmarbaise