2

これが、Maven が依存関係を処理する方法についての私の現在の理解です。

依存関係がアクティブに処理されている場合、Maven はバージョンの末尾に「-SNAPSHOT」を付加します。例) 1.1.1-SNAPSHOT. これらのスナップショットは、スナップショット専用のリモート リポジトリにアップロードされます。同じリモート リポジトリには、リリースされたバージョンのパッケージのセクションがあります。プロジェクトの依存関係が更新されると、Maven はパッケージの最新バージョンをローカル リポジトリにプルします。スナップショットのタイムスタンプに応じて、スナップショットのみが更新されます。Maven がリリース バージョン (例: 1.1.0) をプルダウンすると、現在のバージョンの別のパッケージを検索することはありません。

今私の質問は次のとおりです。

  • 私の理解の欠陥は何ですか?概念的な部分が欠けていますか?
  • パッケージが SNAPSHOT からリリース バージョンに移行するとき、パッケージのリリース バージョンを反映するために pom.xml はどのように更新されますか? これは手動のプロセスですか?
  • 最後に、パッケージがリリースされる場合、上記の例を使用します。1.1.1 がリリースされます。1.1.2-SNAPSHOT が作成されていますか、それとも 1.2.0-SNAPSHOT が作成されていますか? これは poms で更新されるバージョンですか?
4

1 に答える 1

1

スナップショットは現在開発中のバージョンであり、安定していない可能性があります。

私たちはまだsvnを使用している昔ながらの会社です:

  1. 開発はトランクで行われ、pom ファイルのバージョンはスナップショットです (バージョンが固定されているいくつかのオープンソース ライブラリに依存しており、新しいリリースが発生するとすぐにそれらを更新し、切り替えることに自信があります)。
  2. リリースすると同時に、トランクを分岐し、pom のバージョンを対応する固定バージョンに変更します (一部の企業は、接尾辞 -rc でマークすることができます)。
  3. リリース (-rc を使用している企業は、pom 内のバージョンを修正済みのものに変更します)

手動のバージョン変更をスキップするには、maven プラグインのリリースを参照してください。

これがあなたの質問のいくつかに答えることを願っています.

バージョン管理の回答について - それは異なります。詳しくはこちらをご覧ください:

http://en.wikipedia.org/wiki/Software_versioning

ベスト プラクティス: ソフトウェアのバージョン管理

于 2012-12-05T07:13:28.107 に答える