对于最新的稳定版本,请使用 spring-cloud-contract 4.3.0! |
如何使用传递依赖项?
Spring Cloud Contract 插件添加了为您创建存根 jar 的任务。 一 出现的问题是,在重用存根时,您可能会错误地导入所有该存根的依赖项。在构建 Maven 工件时,即使您有几个不同的罐子,它们都共享一个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
├── ...
└── ...
使用这些依赖项有三种可能性,以免出现任何传递依赖项的问题:
-
将所有应用程序依赖项标记为可选
-
创建单独的
artifactid
对于存根 -
排除消费者端的依赖关系
如何将所有应用程序依赖项标记为可选?
如果,在producer
应用程序时,您将所有依赖项标记为可选,当您包含producer
存根(或者当该依赖项被存根运行器下载时),那么,由于所有依赖项都是可选的,因此它们不会被下载。