Je vous écris un test à l'aide consommateur jvm pack et je reçois l'erreur ci-dessous lorsque j'ai couru le test: -java.lang.NoClassDefFoundError: io/netty/util/simultanées/RejectedExecutionHandlers
Code: -
@Test
public void createUser() throws Exception {
Map<String, String> responseHeaders = new HashMap<>();
responseHeaders.put("Content-Type", "application/json;charset=UTF-8");
PactFragment fragment = buildPublisherRequest(responseHeaders);
MockProviderConfig config = MockProviderConfig.createDefault();
MappingJackson2HttpMessageConverter converter = getMappingConverter();
RestTemplate template = new RestTemplate(Collections.<HttpMessageConverter<?>> singletonList(converter));
VerificationResult result = fragment.runConsumer(config, config1 -> {
ConfigApplication ds = new ConfigApplication();
RestApiServiceImpl rs = new RestApiServiceImpl();
ReflectionTestUtils.setField(ds, "host", config.url());
ReflectionTestUtils.setField(ds, "restApiService", template);
});
if (result instanceof PactError) {
throw new RuntimeException(((PactError)result).error());
}
assertEquals(ConsumerPactTest.PACT_VERIFIED, result);
}
Une erreur se produit sur cette ligne fragment.runConsumer (...) dans le code ci-dessus.
Erreur: -
java.lang.NoClassDefFoundError: io/netty/util/concurrent/RejectedExecutionHandlers
at io.netty.channel.nio.NioEventLoopGroup.<init>(NioEventLoopGroup.java:70)
at io.netty.channel.nio.NioEventLoopGroup.<init>(NioEventLoopGroup.java:65)
at io.netty.channel.nio.NioEventLoopGroup.<init>(NioEventLoopGroup.java:56)
at io.netty.channel.nio.NioEventLoopGroup.<init>(NioEventLoopGroup.java:48)
at io.netty.channel.nio.NioEventLoopGroup.<init>(NioEventLoopGroup.java:40)
at unfiltered.netty.Engine$Default$.workers(Engine.scala:22)
at unfiltered.netty.Engine$Default$.workers(Engine.scala:20)
at unfiltered.netty.Server.unfiltered$netty$Server$$workerGrp$lzycompute(Server.scala:43)
at unfiltered.netty.Server.unfiltered$netty$Server$$workerGrp(Server.scala:43)
at unfiltered.netty.Server.destroy(Server.scala:97)
at unfiltered.netty.Server.stop(Server.scala:91)
at au.com.dius.pact.consumer.UnfilteredMockProvider.stop(UnfilteredMockProvider.scala:35)
at au.com.dius.pact.consumer.StatefulMockProvider$$anonfun$runAndClose$1.apply(MockProvider.scala:64)
at au.com.dius.pact.consumer.StatefulMockProvider$$anonfun$runAndClose$1.apply(MockProvider.scala:58)
at scala.util.Try$.apply(Try.scala:192)
at au.com.dius.pact.consumer.StatefulMockProvider.runAndClose(MockProvider.scala:57)
at au.com.dius.pact.consumer.ConsumerPactRunner.runAndWritePact(ConsumerPactRunner.scala:31)
at au.com.dius.pact.model.PactFragment.duringConsumerSpec(PactFragment.scala:13)
at au.com.dius.pact.model.PactFragment.runConsumer(PactFragment.scala:21)
Dépendance existant: -
<dependency>
<groupId>au.com.dius</groupId>
<artifactId>pact-jvm-consumer-junit_2.11</artifactId>
<version>3.3.3</version>
<scope>test</scope>
</dependency>
Dois-je besoin d'ajouter d'autres dépendances?
Comment résoudre ce problème?
Vérifiez si vous avez des pots corrects ajouté à votre build java chemin. –
Ceci étant une erreur d'exécution, ce n'est pas dans votre chemin de classe, en supposant qu'il a bien été compilé. Une autre raison pourrait être une dépendance indirecte pendant l'exécution et non lors de la compilation. – Sid