2017-02-13 109 views

答えて

0

Mavenの世界では、どのプロジェクトまたはコンポーネントも独自の バージョンを持つ必要があります。バージョンの値は、1.0.0,1.3-alpha-4,2.0, 2.1-SNAPSHOTまたは2.1-20091214.221414-13です。そのうち、1.0,1.3-alpha-4および2.0は安定リリース版であり、2.1-SNAPSHOTおよび 2.1-20091214.221414-13は不安定なスナップショットバージョンです。

なぜMavenはリリースとスナップショットのバージョンを区別しますか?シンプルな1.0.0,1.2,2.1などでは十分ではありませんか?なぜ2.1-SNAPSHOT、さらには2.1-20091214.221414-13の長さですか?このような状況を想像して、モジュールAのバージョン2.1のバージョンでは、バージョンはまだシャオ張基の家族によって開発されたモジュールAモジュールBの開発と一緒に、正式にリリースされていない、Bの機能は、開発プロセス、張は、しばしば自分の最新の出力を構築する必要があります、四半期MMに、彼女の開発と統合のデバッグのために、質問は、どのように動作しますか? バージョン2.1.1、2.1.2、2.1.3を更新し続けている場合...まず、Xiao ZhangとMM四半期の両方でPOMを頻繁に変更する必要があります。モジュールAに依存するモジュールが多い場合は、より多くのPOMの変更が必要です。第二に、多数のバージョンが実際にはわずかな差異しか含んでいないため、バージョン番号の乱用が発生します。 Mavenのスナップショットのバージョンメカニズムは、上記の問題を解決することです。この例では、Xiao ZhangはモジュールAのバージョンを2.1-SNAPSHOTに設定するだけで、パブリッシュ中にPWにリリースする必要があります.Mavenは自動的にコンポーネントのタイムスタンプを取得します。たとえば、2.1-20091214.221414-13 on December 14、2009 22:14第13回スナップショットの14秒。このタイムスタンプにより、Mavenはリポジトリ2.1-SNAPSHOTの最新バージョンのファイルをいつでも見つけることができます。現時点では、モジュールのための季節のMM構成2.1 - SNAPSHOTバージョンの依存関係、コンポーネントモジュールB、Mavenは自動的に倉庫モジュールから2.1-SNAPSHOTの最新コンポーネントをチェックし、ダウンロード時に更新されるデフォルトでは、Mavenは毎日(リポジトリのupdatePolicyによって制御される)更新をチェックし、コマンドライン-Uを使用してMavenに強制的に更新をチェックさせることもできます:mvn clean install -U。 スナップショットのバージョンメカニズムに基づいて、Zhangは構築が成功した後にコンポーネントを倉庫に展開でき、MMはモジュールAの構築を考慮することができず、最新のスナップショットウィジェットを取得できることを保証できます常にモジュールAのために。追加の手動操作が必要です。

1

「スナップショット/リリースの強制更新」は

mvn -U install 

-Uを--update-スナップショットとして代替的に使用される次のコマンドを実行しているようです。 hereを参照してください。

Eclipseのm2eclipseプラグインは、内部的にmaven-core APIを使用して同じものを呼び出します。

setUpdateSnapshotsの方法を参照してください。

関連する問題