如何使用傳遞性依賴?
Spring Cloud Contract 外掛程式會新增任務,為您建立 Stub jar 檔。出現的一個問題是,當重複使用 Stub 時,您可能會錯誤地匯入該 Stub 的所有依賴項。當建置 Maven 構件時,即使您有幾個不同的 jar 檔,它們都共用一個 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
├── ...
└── ...
有三種處理這些依賴項的可能性,以避免任何傳遞性依賴的問題
-
將所有應用程式依賴項標記為可選
-
為 Stub 建立單獨的
artifactid
-
排除消費者端的依賴項