mvn install:install-file -Dfile=phonegap-1.1.0.jar -DgroupId?=phonegap -DartifactId?=phonegap -Dversion=1.1.0 -Dpackaging=jar
上記のコマンドを使用して、ローカルjarをmavenローカルリポジトリにインストールします。今、私はmavenリポジトリから依存関係を持っています。これをローカルリポジトリから削除します。それをきれいにする方法?
mvn install:install-file -Dfile=phonegap-1.1.0.jar -DgroupId?=phonegap -DartifactId?=phonegap -Dversion=1.1.0 -Dpackaging=jar
上記のコマンドを使用して、ローカルjarをmavenローカルリポジトリにインストールします。今、私はmavenリポジトリから依存関係を持っています。これをローカルリポジトリから削除します。それをきれいにする方法?
回答:
これを行うために実行できるmavenコマンドがありますが、ファイルをリポジトリから手動で削除する方が簡単です。
このようにWindows Documents and Settings\your username\.m2
または$HOME/.m2
Linuxで
.m2/repository directory
ます。同僚が.m2ディレクトリを以前に削除しており、プロジェクトでsettings.xml
ファイルを変更する必要があるため、問題が発生します。
.m2/repository
ディレクトリを削除すると、すべてのmavenプラグインファイルも削除されることに注意してください。purge-local-repository
コマンドを使用すると、依存関係のみが削除されます。
.m2/repository
はMavenグループIDで編成されているため、削除するアーティファクトに対応するサブディレクトリを削除できます。
ファイルを手動で削除することはできますが、ローカル(キャッシュ)リポジトリからプロジェクトの依存関係を削除し、オプションでリモートリポジトリからそれらを再解決する公式な方法があります。
purge-local-repository
標準のMaven依存関係プラグインの目標は、ローカルにインストールされたこのプロジェクトの依存関係をキャッシュから削除することです。必要に応じて、リモートリポジトリから同時にそれらを解決できます。
これはプロジェクトフェーズの一部として使用する必要があります、含まれているプロジェクトの依存関係に適用されるため。また、推移的な依存関係もデフォルトで(ローカルに)パージされます。
キャッシュから1つのアーティファクトを明示的に削除する場合purge-local-repository
は、manualInclude
パラメータと共に使用します。たとえば、コマンドラインから:
mvn dependency:purge-local-repository -DmanualInclude="groupId:artifactId, ..."
ドキュメントは、これがデフォルトで推移的な依存関係を削除しないことを暗示しています。非標準のキャッシュロケーションで実行している場合、または複数のプラットフォームで実行している場合、これらは「手動」でファイルを削除するよりも信頼性が高くなります。
完全なドキュメントはmaven-dependency-plugin仕様にあります。
注:以前のバージョンのmaven dependency
プラグインにはmanual-purge-local-repository
目標がありましたが、現在(バージョン2.8)はの使用によって暗示されていますmanualInclude
。manualIncludes
()付きのドキュメントs
も読む必要があります。
.jar
がMaven Centralまたは他のリポジトリからダウンロードされなかったで機能するとは思いません。私は、このコマンドを実行すると、それはすべてを取り除く.jar
自動的にダウンロードsの、それがになったとき.jar
、私は手動でインストールされていることの、それがこのエラーメッセージを出力: [ERROR] Failed to execute goal org.apache.maven.plugins:maven-dependency-plugin:2.8:purge-local-repository (default-cli) on project alloy-generator: Failed to refresh project dependencies for: myartifact: required artifacts missing: [ERROR] manually-downloaded-and-installed.jar ...
.jar
が、それでもエラーが出力されます。そうするために.jar
Mavenのは以下のようにいくつかの奇妙なファイルを作成しますので、手動でインストールされているのは、私は、削除するのではなく、この方法を使用して手動で推薦yourjar.jar.lastUpdated
し、yourjar.pom.lastUpdated
手動で削除する必要がとにかく可能性があります。しかし、Mavenがすべての依存関係を自動的に管理している場合、これは依存関係をアンインストールするための優れた方法です。
依存関係を再ダウンロードせずにローカルリポジトリから削除する場合は、少なくとも現在のMavenバージョンでスイッチ-DreResolve = falseを追加する必要があります。
mvn dependency:purge-local-repository -DreResolve=false
再度ダウンロードせずに依存関係を削除します。
~/.m2/repository/phonegap/1.1.0/
Linux OSを使用している場合は、ローカルディレクトリの下にあるすべてのもの(jar、pom.xmlなど)を削除します。
cd ~/.m2
git init
git commit -am "some comments"
cd /path/to/your/project
mvn install
cd ~/.m2
git reset --hard