オフラインモードで実行することをMaven設定ファイルで指定できますが、同等のコマンドラインオプションはありますか?
私は例えばのようなものを想像します
mvn install -Dmaven.offline.true
回答:
Mavenのオフラインモードは、を使用して呼び出されますmvn -o
。
ただし、現在のプロジェクトがMavenローカルリポジトリキャッシュにまだ存在していないアーティファクトを参照している場合があるため、これだけでは不十分な場合があります(~/.m2/repository
)。必要な依存関係が欠落していてダウンロードできないため、そのプロジェクトをオフラインモードでビルドしようとすると失敗します。
したがって、別の有用な目標があります。
mvn dependency:go-offline
これは、飛行機に飛び乗る前に実行するのに最適なコマンドですBUILD SUCCESS
。これにより、の可能性が高まります。詳細については、go-offlineのドキュメントを参照してください。
簡単です:
mvn --offline
将来的には、を参照することをお勧めしmvn --help
ます。
mvn -o
ほとんどの場合は機能しますが、Maven 3からリモート/中央リポジトリからダウンロードしたアーティファクト_remote.repositories
が、依存関係がダウンロードされた場所に関する参照を含むファイルをローカルリポジトリに作成するため、十分でない場合もあります。
後でビルド中にこのリモートリポジトリにアクセスできない場合、問題が発生する可能性があります。
動作する可能性のある回避策は、を使用することmvn -o -llr yourGoal
です。
ヘルプドキュメントから:
-llr、-legacy-local-repository Maven 2 LegacyLocalを使用します リポジトリの動作、つまり使用しない _remote.repositories。することもできます を使用してアクティブ化 -Dmaven.legacyLocalRepo = true -o、-offlineオフラインで作業する
オフラインでmvnを実行する別の方法_remote.repositories
は、ダウンロードした依存関係のディレクトリに保存されているこれらのメタデータを削除することです。
mvn -h
:)