推移的な依存関係を扱うにはどうすればよいですか ?
Spring Cloud Contract プラグインは、スタブ jar を作成するタスクを追加します。発生する問題の 1 つは、スタブを再利用するときに、そのスタブの依存関係をすべて誤ってインポートしてしまう可能性があることです。Maven アーティファクトをビルドする場合、次のように、いくつかの異なる jar がある場合でも、すべて 1 つの pom.xml
ファイルを共有します。
├── producer-0.0.1.BUILD-20160903.075506-1-stubs.jar
├── producer-0.0.1.BUILD-20160903.075506-1-stubs.jar.sha1
├── producer-0.0.1.BUILD-20160903.075655-2-stubs.jar
├── producer-0.0.1.BUILD-20160903.075655-2-stubs.jar.sha1
├── producer-0.0.1.BUILD-SNAPSHOT.jar
├── producer-0.0.1.BUILD-SNAPSHOT.pom
├── producer-0.0.1.BUILD-SNAPSHOT-stubs.jar
├── ...
└── ...
推移的な依存関係で問題が発生しないように、これらの依存関係を操作するには 3 つの方法があります。
すべてのアプリケーションの依存関係をオプションとしてマークする
スタブ用に別の
artifactid
を作成しますコンシューマー側の依存関係を除外する
すべてのアプリケーションの依存関係をオプションとしてマークするにはどうすればよいですか ?
producer
アプリケーションですべての依存関係をオプションとしてマークした場合、別のアプリケーションに producer
スタブを含めるとき (またはその依存関係がスタブランナーによってダウンロードされるとき)、すべての依存関係はオプションであるため、ダウンロードしてもらう。