1. 概要

さまざまな理由で、Mavenにリポジトリから何もダウンロードしないように明示的に要求する必要がある場合があります。

この短いチュートリアルでは、Mavenでオフラインモードを有効にする方法を説明します。

2. 準備

オフラインモードに移行する前に、必要なアーティファクトをダウンロードすることが不可欠です。 そうしないと、このモードを効果的に使用できない可能性があります。

オフラインモードの準備をするために、maven-dependency-pluginからのgo-offlineゴールを使用できます。

mvn dependency:go-offline

この目標は、プラグインとレポート、およびそれらの依存関係を含む、すべてのプロジェクトの依存関係を解決します。 この目標を実行した後、オフラインモードで安全に作業できます。

3. オフラインモード

オフラインモードでMavenの目標とフェーズを実行するには、-oまたは–offlineオプションを使用する必要があります。 たとえば、オフラインモードで統合テストを実行するには、次のようにします。

mvn -o verify

必要なアーティファクトをすべてダウンロード済みの場合、このコマンドはすべてのテストを正常に実行します。 そうしないと、失敗します。

〜/ .m2 / settings.xml ファイルでオフラインプロパティを設定することにより、オフラインモードをグローバルに構成することもできます。

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
                      https://maven.apache.org/xsd/settings-1.0.0.xsd">
  <offline>true</offline>
</settings>

この設定は、すべてのMavenプロジェクトに適用されます。 オフラインプロパティは、デフォルトでfalseに設定されています。 したがって、 -o オプションを使用すると、そのコマンドの実行中、そのデフォルト設定が一時的に上書きされます。

4. 結論

このクイックチュートリアルでは、maven-dependency-pluginを使用してMavenオフラインモードを準備する方法を説明しました。 また、オフラインモードを有効にするためのコマンドラインアプローチと設定ベースのアプローチの両方に精通しました。