<repository>
にローカルリポジトリ用のがないため、外部リポジトリ用にそれを行う方法は知っていますが、ローカルリポジトリ用にはできませんsettings.xml
。
サブプロジェクトにスナップショットバージョンを使用しているので、親プロジェクトを再構築するときに、mavenがローカルリポジトリからすべてのサブプロジェクトのスナップショットバージョンを1日1回だけでなく取得するようにします(これはデフォルトで発生するようです)しかし常に。
私があなたのコメントを理解していれば、@FrVaBe が正しい答えを持っていると思います。mvn install
開発マシンで子プロジェクトのコードを変更する場合、親プロジェクトで使用できるように 、スナップショットを再構築して ( 経由で) ローカルのアーティファクト リポジトリに取得する必要があります。
ただし、親プロジェクトのビルドに、チームメイトが行った変更を取り込み、企業のリモート リポジトリに公開する頻度を 1 日に 1 回以上にしたい場合は、読み進めてください。
ここでは、Maven の中央 (および親族)、リモート リポジトリ (Nexus または Artifactory の企業インスタンスなど)、およびローカル リポジトリがどのように連携するかについての概要を示します。ビルドごとに常に最新バージョンのスナップショットをダウンロードする場合は、ファイルに移動し、必要なスナップショットを含むリポジトリをsettings.xml
見つけて、値を「always」に変更します。個人的にはこれを行うことはめったにありません。リモート リポジトリからスナップショットの最新バージョンを取得したい場合は、コマンド ラインに「-U」オプションを追加するだけです。<snapshot>
<updatePolicy>
mvn
ローカル リポジトリの更新ポリシーはありません。
ローカル リポジトリは単なるファイルの集まりです。ローカル リポジトリに移動するinstall
と、ローカル プロジェクトはすでにアーティファクトを直接参照しています。新しいファイルを取得するために IDE を更新する必要がある場合を除いて、実行する必要がある更新はありません。
このようにして、バージョニングの問題や更新の必要がなく、後から古いアーティファクトが残ることなく、一日中ローカル スナップショットを作成できます。きれいできれいですが、Maven を初めて使用し、これらすべてのリポジトリとその派手な更新メカニズムをまだ把握している場合は、それほど明白ではありません。
あなたは何かを誤解していると思います。Maven は常にローカル リポジトリから最新/最新の SNAPSHOT を取得します。ただし、プロジェクトのセットアップ ( Project Inheritance ) で、何かを変更した場合は、サブ プロジェクトを独自にビルドする必要があります。
サブ プロジェクトの自動ビルドは、Project Aggregationレイアウトでのみ発生します。
違いは、ドキュメントのプロジェクトの継承とプロジェクトの集約セクションで説明されています。