2009-08-13 15 views
5

私のsettings.xmlファイルには、Mavenに使用させたいリポジトリがリストされています(下記のファイルを参照してください)。これらのリポジトリはビルドマシンに配置されており、ビルドマシンにインターネットが接続されていない場合にビルドが失敗するのを防ぐためにこの方法で作業しています。Mavenがsettings.xmlファイルにリストしていないリポジトリからの更新をチェックしないようにするにはどうしたらいいですか?

問題は、Mavenが自動的に中央リポジトリ(およびおそらくリストにない他のリポジトリ)から更新を探していることです。この現象を防ぐ方法はありますか?

... 
<profile> 
    <id>myProfile</id> 
    <repositories> 
    <repository> 
     <releases> 
     <updatePolicy>never</updatePolicy> 
     </releases> 
     <snapshots> 
     <updatePolicy>never</updatePolicy> 
     </snapshots> 
     <id>myRepo</id> 
     <url>file://${my.home}/maven/.m2/repository</url> 
     <layout>default</layout> 
    </repository> 
    </repositories> 
    <pluginRepositories> 
    <pluginRepository> 
     <releases> 
     <updatePolicy>never</updatePolicy> 
     </releases> 
     <snapshots> 
     <updatePolicy>never</updatePolicy> 
     </snapshots> 
     <id>myRepo</id> 
     <url>file://${my.home}/maven/.m2/repository</url> 
     <layout>default</layout> 
    </pluginRepository> 
    </pluginRepositories> 
</profile> 
... 

注:オフラインオプション(たとえば-oフラグ)を使用するには、私のためのオプションではありません。私が本当に望むのは、Mavenが私のsettings.xmlファイルにリストするリポジトリだけを使うことです。

答えて

3

すべてのMavenプロジェクトはMaven Super POMから中央リポジトリの設定を継承します。 Mavenのミラー機能を使用して、コールを希望するリポジトリの中央にリダイレクトすることができます。あなたはこのようなあなたのsettings.xmlにいくつかの設定を追加することによって、次の操作を行います。

<settings> 
... 
    <mirrors> 
    <mirror> 
     <id>central-proxy</id> 
     <mirrorOf>central</mirrorOf> 
     <url>http://myrepository/releases</url> 
    </mirror> 
    </mirrors> 
    .. 
</settings> 

この構成では、いずれかのユーザー設定に入れることができる(。$ {のuser.home}/2/settings.xmlの)またはグローバル設定({$ M2_HOME} /conf/settings.xml)。

関連する問題