如何使用传递依赖项?
Spring Cloud Contract 插件添加了为您创建存根 jar 的任务。一
出现的问题是,在重用存根时,您可能会错误地导入所有
该存根的依赖项。在构建 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
-
排除 Consumer 端的依赖项
如何将所有应用程序依赖项标记为可选?
如果在应用程序中将所有依赖项标记为可选,则
当您将存根包含在另一个应用程序中时(或者当
依赖项由 Stub Runner 下载),那么,由于所有依赖项都是
可选,则不会下载它们。producer
producer