2012-03-06 4 views
0

オフラインモードで実行されているときにMavenにローカルリポジトリ(file://)をアクセスさせる必要があります(基本的にリポジトリ階層を設定しようとしていますので、それらが必要です)。オフラインモードでローカルリポジトリにアクセス

このシナリオがサポートされているとは限りませんが、これはすぐには機能しません。特定のリポジトリをオフラインモードで有効にするフラグがありますか?

答えて

1

ネットワークアドレスではなくset up profiles for repositories utilizing the local file systemにすることができます。

<repository> 
    <id>mymaven</id> 
    <url>file://D:\mylocalrepo</url> 
</repository> 

ドキュメントによれば、reference offline mode in a property valueでも可能です。

${settings.offline} 

その後、例hereに応じactivate a given settings profileに一緒にこれらを活用します。 (Mavenのプロパティを検出しない場合は、直接、上記の構文を使用して、それを評価してみてください。)

<profiles> 
    <profile> 
     <id>myNeededProfile</id> 
     <activation> 
     <activeByDefault>false</activeByDefault> 
     ... 
     <property> 
      <name>offline</name> 
      <value>true</value> 
     </property> 
     ... 
     </activation> 
     ... 
    </profile> 
    </profiles> 

私はMaven Help Pluginは、一定の条件の下でアクティブになりますどのプロファイルコンピューティングによって、この開発を導くことができると信じています。

また、これは、オフラインモードが要求されるたびにコマンドラインからプロファイルを明示的に呼び出すことで、より簡単に実行できるとも考えています。

mvn groupId:artifactId:goal -o -P profile-1,profile-2 

それとも、もっと素直に、二つの別々の設定ファイルを持つ、オンライン/オフライン操作のために特別にそれらを下塗りすることによって。使用しているOS環境に応じてコマンドラインラッパーを作成し、オフライン要求を検出してからMavenコマンドを実行する前にファイルを移動して名前を変更し、完了時にそれらを戻すことができます。

+0

いいえ、これは私が欲しいものではありません。私はオフラインモードでMavenを実行する方法が必要です(TychoプラグインがローカルP2リポジトリを好むようにする必要があります)、まだreposの階層を持っています(一部のリポジトリはr/oです) – Eugene

1

Mavenは常に中央リポジトリに接続しようとしました。それはオプションになります - あなたは、などの設定は、プロファイルとして使用することができ、スナップショットのためのプラグインのリポジトリを同じにします

(それはあなたが再定義することができ、唯一の財産である)自身の中心を定義することができます。答えは ingyhereです。唯一のdevの環境では

+0

Mavenがオフラインで、私のローカルP2リポジトリは無視され、Webからアーティファクトを取得し始めます。したがって、私は中央を上書きしてもオンラインモードを使用することはできません。 – Eugene

+0

親プロジェクトPOMとMavenマスター設定のリポジトリ参照を再定義しようとしましたか?また、元の質問で詳細を参照してください。これは何らかの理由でMavenの設定が上書きされるプロジェクトの問題です。プロジェクトデザインはオフラインモードに対応していません。一般的な解決策ではなく特定の解決策にアプローチする必要があります。 – ingyhere

1

あなたがのIntelliJ IDEAを使用している場合、あなたは次のようにオフラインで作業するためにMavenを設定することができます。

Preferences... > Search for Maven > Work offline (checked) 
関連する問題