2012-01-05 14 views
5

リモートリポジトリに対してローカルのMaven:(!それがされている場合には、事前にその謝罪 - 私はまだ右の質問を発見していない)。これは、前によく聞かれた可能性があり

私はプロジェクトに取り組んでいます2つのMavenリポジトリ:ローカルマシン(私のマシン上)と内部マシン(中央サーバ上)。かなりの数のプロジェクトがあり、それらのすべてを使用する1つの親プロジェクトがあります。特定のプロジェクトの作業が終了したら、他の人が使用できるように中央リポジトリにインストールします。

私は地元のテストのために親プロジェクトをビルドすると、私は各プロジェクトの最新のバージョンまでのほとんどを使用したいと思います:

  • 誰かが中央リポジトリにプロジェクトを更新した場合、私は思いますその1つを使用したいのですが、プロジェクトをローカルに変更してそれを私のローカルリポジトリにインストールした場合、集中したものを上書きすることをお勧めします。

私が見ているのは、自分のローカルリポジトリを完全に無視し、内部のものからすべてを掴んでいるビルドです。私はどこか明白な場所を逃したことがありますか?それとも、これは物事がうまくいくか?

+0

、以下の関連セクション(1)どのように(あなたのポンポンの関連セクションを提供)リポジトリを設定しています。 (2)mvn -X関連のログエントリを提供します。これは、mavenが最初に中央リポジトリを試してから内部を試すことを示しています。 –

答えて

1

-SNAPSHOTバージョンを使用していることを確認する必要があります。次に、ローカルとリモートを比較し、最新のものを使用します。

あなたはそれがあなたのsettings.xmlで正しく設定されているように持っている必要があります。もちろん、

(多分あなたは私たちのことを示す必要があります。)

2

mvn -oので、何もダウンロードされていないオフラインモードに行くことができます。

settings.xmlでは、更新ポリシーを常にスナップショットやリリース用に設定するとは限りません。 See here

<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 
         http://maven.apache.org/xsd/settings-1.0.0.xsd"> 
    ... 
    <profiles> 
    <profile> 
     ... 
     <repositories> 
     <repository> 
      <id>codehausSnapshots</id> 
      <name>Codehaus Snapshots</name> 
      <releases> 
      <enabled>false</enabled> 
      <updatePolicy>always</updatePolicy> 
      <checksumPolicy>warn</checksumPolicy> 
      </releases> 
      <snapshots> 
      <enabled>true</enabled> 
      <updatePolicy>never</updatePolicy> 
      <checksumPolicy>fail</checksumPolicy> 
      </snapshots> 
      <url>http://snapshots.maven.codehaus.org/maven2</url> 
      <layout>default</layout> 
     </repository> 
     </repositories> 
     <pluginRepositories> 
     ... 
     </pluginRepositories> 
     ... 
    </profile> 
    </profiles> 
    ... 
</settings> 
関連する問題