У меня есть потребительский проект, в котором есть верификатор тестов весенних облачных контрактов, которому нужно поговорить с заглушкой в удаленном репо. Настройка для stubsMode: LOCAL
работает нормально, но для удаленного она выдает следующую ошибку.
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.cloud.contract.stubrunner.BatchStubRunner]: Factory method 'batchStubRunner' threw exception; nested exception is java.lang.IllegalStateException: The artifact was found in the local repository but you have explicitly stated that it should be downloaded from a remote one
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185)
at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:622)
... 43 more
Caused by: java.lang.IllegalStateException: The artifact was found in the local repository but you have explicitly stated that it should be downloaded from a remote one
Код дистанционного управления на стороне потребителя:
`@RunWith(SpringRunner.class)
@SpringBootTest(classes = RestClientConfig.class,
webEnvironment = SpringBootTest.WebEnvironment.MOCK)
@AutoConfigureStubRunner( repositoryRoot="https://nexus.com/nexus/content/repositories/sam-releases/com/sam/api/",
ids = "com.sam:api:+:stubs:8083",
stubsMode = StubRunnerProperties.StubsMode.REMOTE
)
pom.xml
<spring-cloud.version>Finchley.SR2</spring-cloud.version>
<spring-cloud-contract.version>2.0.2.RELEASE</spring-cloud-contract-version>
Мне нужно использовать REMOTE repoUrl для потребительского проекта, чтобы поговорить с заглушкой производителя.