Maven3のはじめかた
  • 概要
  • はじめに
    • 電子書籍の配布形式について
  • Maven入門
    • Mavenのインストール
    • Mavenの使い方
    • ビルド・ライフサイクル
    • pom.xml
    • Mavenリポジトリ
    • 依存関係
    • Mavenプラグイン
  • プロジェクトをリポジトリに公開する
    • バージョンの種類と使い分け
    • 公開先のリポジトリを指定する
    • リポジトリへの公開
  • Mavenプラグインを実装する
    • Mavenプロジェクトを作成する
    • Mojoを作成する
    • 単体テストを作成する
    • Mavenリポジトリを通じて配布する
  • モジュール
    • モジュールでプロジェクトに構造を持ち込む
    • マルチモジュール構成プロジェクト用実行時オプション
  • 困ったときの逆引き
  • 付録
    • 用語集
    • サンプルプロジェクト
Powered by GitBook
On this page
  • メジャーバージョン、マイナーバージョン、パッチバージョン
  • 安定バージョン
  • SNAPSHOT修飾子
  • その他の修飾子
  • ピリオドとダッシュの違い
  1. プロジェクトをリポジトリに公開する

バージョンの種類と使い分け

Previousプロジェクトをリポジトリに公開するNext公開先のリポジトリを指定する

Last updated 6 years ago

メジャーバージョン、マイナーバージョン、パッチバージョン

バージョンは通常、次のように数値とピリオドを用いて記載します。Mavenでもこの方法に従います。 ピリオドはいくつでも使うことができますが、特に書式にこだわりがない場合、に従い左から順にメジャー・マイナー・パッチとしておくとよいでしょう。

  • 1.0

  • 1.2.3

メジャーバージョンは機能に大きな変更があった場合、マイナーバージョンは後方互換性を保つ変更があった場合、パッチバージョンはバグ修正が行われた場合に大きくなります。 これらの数値は 1.10.12 のように2桁以上になることも可能です。

安定バージョン

もし多くの人に使ってほしい安定版を公開するなら、安定バージョンの公開を検討しましょう。 後述するmaven-release-pluginを使えば、安定バージョンが満たすべき条件を自動的に検証してくれます。

安定バージョンとは、前述のように数値とピリオドだけで構成されたものです。 反面、実装やインタフェースが安定しない開発途上のものを公開するなら、修飾子を用いて安定版でないことを明示するとよいでしょう。

SNAPSHOT修飾子

もっとも代表的な修飾子が SNAPSHOT修飾子 です。

バージョンにSNAPSHOT修飾子を含めることで、使い手とMavenに対して安定版ではないことを伝えることができます。 修飾子は次のように、半角ダッシュを使ってバージョン番号の後ろに付記します。 大文字でも小文字でも構いませんが、慣習として大文字を使用することが多いようです。

  • 1.2.3-SNAPSHOT

  • 1.0-snapshot

artifactは通常1バージョンにつき1度しかdeployできませんが、SNAPSHOT修飾子を利用したバージョンは同じバージョンで何度も異なるartifactをデプロイできます。 これにより、利用者に対して 常に最新の開発版を提供できます 。

その他の修飾子

Maven3は他にもバージョンに特別な意味を持たせるための修飾子を提供しています。 修飾子を不安定な順(古い順)に並べると、次のとおりです。 RCはリリース候補(Release Candidate)、SPはサービスパック(Service Pack)の略です。

  1. alpha (短縮表記として a を利用可能)

  2. beta (短縮表記として b を利用可能)

  3. milestone (短縮表記として m を利用可能)

  4. rc or cr

  5. snapshot (前述)

  6. ga or final (修飾子なしと同様)

  7. sp

たとえばバージョン 1.2.3 の開発過程において、次の順で修飾子を利用できます。

  • 1.2.3-alpha1, 1.2.3-alpha2, ... (1.2.3 のアルファ版)

  • 1.2.3-beta1, 1.2.3-beta2, ... (1.2.3 のベータ版)

  • 1.2.3-m1, 1.2.3-m2, ... (1.2.3 のマイルストーン版)

  • 1.2.3-rc1, 1.2.3-rc2, ... (1.2.3 のリリース候補版)

  • 1.2.3-SNAPSHOT (1.2.3 の最新開発中バージョン)

  • 1.2.3 (1.2.3 安定版)

  • 1.2.3-sp1, 1.2.3-sp2, ... (1.2.3 バグ修正版)

ピリオドとダッシュの違い

修飾子を活用している事例としては、がわかりやすいでしょう。 バージョンアップではALPHA, BETA, CRとFINAL修飾子を用いたリリースを、バグ修正ではパッチバージョンやを行っています。

このページで紹介している命名方法を利用している限り、この違いを意識する必要はありません。 興味のある方はをご覧ください。

Semantic Versioning 2.0.0
org.hibernate:hibernate-core
SP修飾子を用いたリリース
公式ドキュメント