Maven-snapshots
Maven-スナップショット
通常、大規模なソフトウェアアプリケーションは複数のモジュールで構成されており、複数のチームが同じアプリケーションの異なるモジュールで作業している一般的なシナリオです。 たとえば、チームがapp-uiプロジェクト(app-ui.jar:1.0)としてアプリケーションのフロントエンドで作業しており、データサービスプロジェクト(data-service.jar:1.0)を使用しているとします。
現在、データサービスに取り組んでいるチームがバグの修正や機能拡張を急速に行っており、ほぼ1日おきにライブラリをリモートリポジトリにリリースしていることがあります。
これで、データサービスチームが1日おきに新しいバージョンをアップロードすると、次の問題が発生します-
- データサービスチームは、更新されたコードをリリースするたびにapp-uiチームに通知する必要があります。
- app-uiチームは、pom.xmlを定期的に更新して、更新されたバージョンを取得する必要がありました。
このような状況に対処するために、 SNAPSHOT コンセプトが登場します。
スナップショットとは何ですか?
SNAPSHOTは、現在の開発コピーを示す特別なバージョンです。 通常のバージョンとは異なり、Mavenはビルドごとにリモートリポジトリで新しいSNAPSHOTバージョンをチェックします。
現在、データサービスチームは、更新されたコードのスナップショットをリポジトリに毎回リリースします。たとえば、data-service:1.0-SNAPSHOTは、古いスナップショットjarを置き換えます。
スナップショットとバージョン
バージョンの場合、Mavenが前述のバージョン、たとえばdata-service:1.0を一度ダウンロードすると、リポジトリで利用可能な新しい1.0をダウンロードしようとしません。 更新されたコードをダウンロードするには、データサービスバージョンを1.1にアップグレードします。
SNAPSHOTの場合、Mavenはapp-uiチームがプロジェクトをビルドするたびに、最新のSNAPSHOT(data-service:1.0-SNAPSHOT)を自動的に取得します。
app-ui pom.xml
データサービスpom.xml
SNAPSHOTの場合、Mavenは毎日最新のSNAPSHOTを自動的に取得しますが、mavenコマンドに-Uスイッチを使用して、mavenに最新のスナップショットビルドをダウンロードさせることができます。
コマンドコンソールを開き、 C:\> MVN> app-ui ディレクトリに移動して、次の mvn コマンドを実行します。
Mavenは、データサービスの最新のスナップショットをダウンロードした後、プロジェクトの構築を開始します。