残念ながら、pom ファイルを変更した場合は、アーティファクトを再構築する必要があります。そうしないと、VCS の状態は、作業中の状態を表していません。
例を挙げましょう。B が A に依存しているプロジェクト A、プロジェクト B:
プロジェクト A: pom.xml
<version>1.0-SNAPSHOT</version>
Some dependencies etc.
プロジェクト B: pom.xml
<version>1.0-SNAPSHOT</version>
Some dependencies etc.
<dependency>
<groupId>project.a</groupId>
<artifactId>A</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
ここで、プロジェクト A と B をビルドします。リポジトリの状態は、pom ファイルの状態と SNAPSHOT への状態/依存関係を表します。
ここで、プロジェクト A を変更してそこから「リリース」しますが、アーティファクトは再構築しません。以下はバージョン管理にあり、タグ付けを行っている可能性があります。
プロジェクト A: pom.xml
<version>1.0</version>
Some dependencies etc.
次に、プロジェクト B で同じことを行います: プロジェクト B: pom.xml
<version>1.0</version>
Some dependencies etc.
<dependency>
<groupId>project.a</groupId>
<artifactId>A</artifactId>
<version>1.0</version>
</dependency>
しかし、アーティファクトも再構築しません。その結果、リポジトリには SNAPSHOT の状態を表すアーティファクトが含まれていますが、バージョン管理は別のことを言っています。これは、問題の非常に単純な例にすぎません。より多くのプロジェクトなどがある場合、事態は悪化します。
さらに、プロジェクト構造を変更することを考え直します。依存関係について書いたことに基づいて、それらのプロジェクトを一緒にリリースする必要があるように見えるので、それらからマルチモジュールビルドを作成することをお勧めします。
さらに、依存関係を処理できる Jenkins の適切なジョブを使用して再構築を行うことができます。または、ビルド パイプライン プラグインを使用してそのような処理を行うことを検討することもできます。
しかし、もう 1 つの疑問が頭に浮かびます。ビルドに時間がかかるのはなぜですか? 時間がかかっている理由を調査し、リリース時間を全体的に短縮することができます。