2016-05-18 7 views
1

私たちは自動テストを実行しビルドするためにmavenを使用します。 また、他の自動テストプロジェクトに依存する異なるプロジェクトもあります。修飾子付きのバージョンをPOMファイルの依存関係から除外します

たとえば、リリースバージョン(1.2.2)のProject1があります。 Project2はProject1に依存しています:[1.2.0,1.3.0]

誰かがProject1に何らかの変更を加えた場合、1.2.3-devを導入して私たちの環境でテストします。しかし、この場合、Project2は1.2.3-devを最新のものとして使用します。 Project2は、「dev」修飾子との依存関係をこれまで使用しないようにする必要があります。したがって、 "dev"修飾子を持つすべてのビルドを無視する必要があります。

これを行う方法はありますか?

SNAPSHOTの使用は現在のところオプションではありません。

答えて

0

versions:resolve-rangesを使用すると、強制的にバージョンのバージョンを解決できます。メインビルドステップの直前に別のビルドステップとして実行してください。この目標は、-Dexcludes=groupId:artifactId:type:classifier:versionを使用して(特定のバージョン/分類子の)特定の成果物を除外するように設定できます。

ただし、完全に再現可能なビルドを得るためには、最初にバージョン範囲を使用しないことをお勧めします。そうでなければ、ビルドは、例えば、外部依存関係の新しいバグのリリースによって簡単に破壊される可能性があるからです。

関連する問題