でアーティファクトをインストールすることはできますinstall:install-file
が、アーティファクトをダウンロードするにはどうすればいいでしょうか?
例えば:
mvn download:download-file -DgroupId=.. -DartifactId=.. -Dversion=LATEST
ベストアンサー1
2020 年代の Maven の最新バージョン (3.x) では、プラグインのバージョンとリポジトリの URL について心配する必要はなく、次の操作を実行できるはずです。
mvn dependency:get -Dartifact=group-id:artefact-id:version
元の回答
バージョン 2.1 以降、優れた目標を持つMaven 依存関係プラグインを使用できますdependency:get
。POM は必要なく、すべてがコマンド ラインで実行されます。
ゴールを確実に見つけるにはdependency:get
、バージョン 2.1 を使用するように Maven に明示的に指示する必要があります。つまり、バージョンを含むプラグインの完全修飾名を使用する必要があります。
mvn org.apache.maven.plugins:maven-dependency-plugin:2.1:get \
-DrepoUrl=url \
-Dartifact=groupId:artifactId:version
更新: Maven の古いバージョン (2.1 より前) では、Maven のコピーで特定のバージョンのプラグインを使用するように強制することで、(完全修飾名とバージョンを使用せずに) 通常どおり実行できますdependency:get
。
これは次のように実行できます。
<settings>
1. ファイルの要素内に次の行を追加します~/.m2/settings.xml
。
<usePluginRegistry>true</usePluginRegistry>
~/.m2/plugin-registry.xml
2.次の内容のファイルを追加します。
<?xml version="1.0" encoding="UTF-8"?>
<pluginRegistry xsi:schemaLocation="http://maven.apache.org/PLUGIN_REGISTRY/1.0.0 http://maven.apache.org/xsd/plugin-registry-1.0.0.xsd"
xmlns="http://maven.apache.org/PLUGIN_REGISTRY/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<useVersion>2.1</useVersion>
<rejectedVersions/>
</plugin>
</plugins>
</pluginRegistry>
しかし、これは Maven 2.1/2.2 ではもう機能しないようです。実際、プラグイン レジストリの概要によると、の機能はplugin-registry.xml
再設計されており (移植性のため)、プラグイン レジストリは現在 Maven 2 内で半休止状態になっています。そのため、今のところは長い名前を使用する必要があると思います (プラグインを pom なしで使用する場合、これが の背後にある考え方ですdependency:get
)。