2011-02-04 13 views
2

私は長時間撮影しても熟練していませんが、助けていただければ幸いです。私は、我々はネクサスリポジトリを持っていますが、それは唯一のリリースではなく、スナップショットを保持しているのMaven 2.使用して大規模な分散開発チームで働くMavenのスナップショットを扱う - ベストプラクティス

はここの状況です。

問題は2つある:

  1. 私は、私が上で動作していない他のモジュールをアップsvnのそれらを構築し、私のモジュールを構築する必要が毎朝。これは、私のモジュールがこれらの他のモジュールにスナップショット依存関係を持っているためです。これには時間がかかり、現状を維持するために誰もがこれを行う必要があるため、実際には加算されます。

  2. 説明モジュールAはモジュールBを必要とし、スナップショットの依存関係として宣言されています。モジュールBはより高いバージョン番号に更新されますが、開発者はモジュールAを更新することを忘れてしまいます。したがって、モジュールAは古いスナップショットを使用しており、しばらくの間は識別されない可能性があります。

どのようにこれらの問題に対処するのがベストですか?私は大で働く

+0

実際には2つの質問をしているので、1つの回答を選択するのは難しいでしょう。質問を2つに分割することをお勧めします。 –

答えて

6

は、我々はネクサスリポジトリを持って が、それは唯一の のリリースではなく、スナップショットを保持しているのMaven 2を使用して 開発チームを配布しました。

これは問題です。ネクサスにスナップショットリポジトリを作成します。リリースリポジトリとスナップショットリポジトリとの間に明確な隔たりがある限り、スナップショットをネクサスに展開しない理由はありません(通常、ハドソンジョブによって行います。したがって、ハドソンジョブが成功するたびにリポジトリには常に最新バージョンが存在します)。 。)

+0

彼らはリポジトリにスナップショットを入れたくないと言います。 – FinalFive

+3

@FinalFive彼らは間違っています。これは、別の ''(http://maven.apache.org/pom)を持っていることの要点です。html#リポジトリ) –

+0

私はMaven DevとNexus Devとして同意します。 NexusとMavenは目的に応じてスナップショットの分離を強制するため、リポジトリにスナップショットを持たない理由はありません。 –

0

maven-versions-pluginにはdisplay-dependency-updates mojoがあります。このmojoを使用して、最新バージョンのアーティファクトを使用していないかどうかを調べることができます。

+0

これは便利ですが、このような状況では役に立ちません(これらのバージョンが配備されているリポジトリがある場合にのみ役立ちます)。 –

1

あなたがあなたのdependecy宣言でversion rangesを使用することを検討すべき特別な(スナップショット)バージョン(あなたの質問のポイント2)に依存したくない場合は、次のMaven Complete Reference Bookから

サンプル:

のJUnit 3.8以上のバージョンが、

<dependency> 
    <groupId>junit</groupId> 
    <artifactId>junit</artifactId> 
    <version>[3.8,4.0)</version> 
    <scope>test</scope> 
</dependency> 

4.0未満は注意してください、私は(範囲の対価)のスナップショットの取り扱いを考えますMaven 2とMaven 3の間で異なります。

NEXUSリポジトリに(最良の方法である)SNAPSHOTSをデプロイしたくない場合は、自分でSNAPSHOTSを作成する必要があります。おそらくjenkins(使いやすい - あなたのローカルマシン上でさえ)のようなスクリプトや連続ビルドツールが役立ちます。

+0

* Maven 2とMaven 3のスナップショット(範囲内の考慮)の扱いが異なると思います。*この主張をバックアップするためのリソースはありますか?それは私の現在のクライアントにとって非常に興味深いでしょう。 –

+2

@Sean Patrick Floyd:詳細を知らないうちに何か聞いたので、これを言いました。私は今それをチェックし、あなたがここで詳細を見つけることができると信じています:http://docs.codehaus.org/display/MAVENUSER/SNAPSHOT+Resolution – FrVaBe

関連する問題