2012-01-10 30 views
0

Maven 3.0が古いライブラリをダウンロードして別のバージョンのみを使用するのを止めることは可能でしょうか? JUnitの3.8.2、4.8.1および最新の4.xを使用して、例えばMavenの依存関係は?

を(iは手動のJavadocとソースをダウンロードし、ローカルリポジトリとバージョンprefering)、決して< 3.8.1、4.5、4.6スナップショットなど

背景:私は実際のプロジェクトと、限られたスペースの最初のドライブ(SSD)のローカルレポを持っています。
私は新しいプロジェクト(新しいテーマを学ぶことが多い)を始めるためにmavenのarchetypeを試してみると、ダウンロードしたものがjunit 4.5 のようになりますが、私のローカルバージョンを見て手動でpomを編集するのは好きではありません と私は好きなように何度も繰り返している依存関係をパージしてダウンロードしません。

これを行うためのツール、プラグイン、設定、またはベストプラクティスはありますか?唯一のDOC + SRC =>「依存関係を解決できませんでした...リポジトリのために手動で私の好みのIDEのオファーのダウンロードを引き起こす助けにはならない

  • going Offline私がこれまで試したどのような

    ...システムはオフラインですが、アーティファクトはローカルリポジトリで利用できません。 "今の

  • のベストプラクティスは、コンテキストメニューの(NetBeansの)は、プロジェクトの「 dependecyを削除」と
    「Dependecyとして追加..」ローカルリポジトリ 木からです。 (のようなscreenshots?)

+0

使用しているMavenのバージョンは? –

+0

私はMaven 3.0を使用しています。 – BudMinton

答えて

0

あなたが(依存関係として、または依存からの古いバージョンを除く)あなたのpom.xml内のバージョンを指定した場合、それは指定されたもの以外のjarファイルをダウンロードしてはならない(または除外される)。

+0

私は(私のために新しい)archtypeを使用することから始めます。ほとんどの場合、archetypeが作成されたときの実際のバージョンのpomが生成されます。私は生成されたpomを編集し、バージョンを指定することができます、私は知っていた。 一般的に古いバージョンを除外する機会がある場合は、回答が参考になります。ありがとう。 – BudMinton

+0

アーキタイプを使用している場合、アーキタイプのポイントは、それが提供するデフォルトを使用することなので、あまりできることはありません。最も簡単なことは(純粋ではない場合)、archetypeを実行し、pomを編集し、ローカルのrepoを完全に削除し、resyncすることです。 IDEプラグインは、とにかく次のビルドで再同期を処理する必要があります。 –

+0

質問を編集したり、質問自体にコメントやコメントを付けたり、使用しているMavenのバージョンを追加したりする必要があります。バージョニングの処理方法には、2.0.x、2.1.x、2.2.x、および3.xで異なる機能があります。他の人があなたの質問に対するより良い答えを持っているかもしれません。 –

1

多くの新しいものを読んだ後、私は最終的にSpencer Kormosに同意:

あなたはアーキタイプを使用している場合は、非常にあなたができることはありません...私のために

ベストプラクティスは今ありますこの:

小型ソリューション
- 原型を使用してポンポンを作成します - ポンポン
の上でれる好ましい依存関係をdecribing <dependencyManagement../>を追加 - <scope>provided</scope>
を追加 - 生成ポンポン
に矛盾<version../>タグを削除 - - 私が使用する<dependencyManagement../>セクションoptionalyあなたは<exclusions.. />
を追加することができます他のプロジェクトのコピー/ペースト用

大規模なソリューション(うまくいけば)?
- れる好ましい成果物の<dependencyManagement../>
で親/マスターPOMを作成 - <packaging>pom</packaging>

の一部で依存関係をグループ化するためのマスターPOMを使用する - 原型からモジュールまたは子プロジェクト
としてPOMを生成し使用私は最後の日
のMaven-モデル:-(許可
2つのリンクだけを読んもの(project下dependencyManagementを探してください)
Maven: The Complete Reference, Chapter 3.6.1. Grouping Dependencies

+0

親pomにdependencyManagementタグを含める場合は+1します。 Sonotypeのベストプラクティスに従えば、これは排除を管理することになっている場所で、完全な親プロジェクトを配備して、使用するジャーのバージョンを指定することができます。 –