SpringCloud 存根和傳遞依賴項

2023-12-09 19:53 更新

Maven和Gradle插件添加了為您創(chuàng)建存根jar的任務(wù)。出現(xiàn)的一個問題是,當(dāng)重用存根時,您可能會錯誤地導(dǎo)入該存根的所有依賴項。構(gòu)建Maven工件時,即使您有幾個罐子,它們也共享一個pom:

├── github-webhook-0.0.1.BUILD-20160903.075506-1-stubs.jar
├── github-webhook-0.0.1.BUILD-20160903.075506-1-stubs.jar.sha1
├── github-webhook-0.0.1.BUILD-20160903.075655-2-stubs.jar
├── github-webhook-0.0.1.BUILD-20160903.075655-2-stubs.jar.sha1
├── github-webhook-0.0.1.BUILD-SNAPSHOT.jar
├── github-webhook-0.0.1.BUILD-SNAPSHOT.pom
├── github-webhook-0.0.1.BUILD-SNAPSHOT-stubs.jar
├── ...
└── ...

使用這些依賴關(guān)系有三種可能性,以使傳遞依賴關(guān)系沒有任何問題:

  • 將所有應(yīng)用程序依賴項標(biāo)記為可選
  • 為存根創(chuàng)建一個單獨的artifactid
  • 排除消費者方面的依賴

將所有應(yīng)用程序依賴項標(biāo)記為可選

如果在github-webhook應(yīng)用程序中將所有依賴項標(biāo)記為可選,則在另一個應(yīng)用程序中包含github-webhook存根時(或當(dāng)Stub Runner下載了該依賴項時),則因為所有依賴項是可選的,它們將不會下載。

為存根創(chuàng)建單獨的artifactid

如果您創(chuàng)建單獨的artifactid,則可以按照您希望的任何方式進(jìn)行設(shè)置。例如,您可能決定完全沒有依賴項。

排除消費者方面的依賴

作為使用者,如果將存根依賴項添加到類路徑中,則可以顯式排除不需要的依賴項。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號