1
私はパックJVMコンシューマを使用してテストを書いていますし、私はテストを実行したときに、以下のエラーを取得しています: -java.lang.NoClassDefFoundErrorが:IO /ネッティー/ utilに/同時/ RejectedExecutionHandlers
コード: -
@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);
}
上記のコードで、この行fragment.runConsumer(...)にエラーが発生しました。
エラー: -
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)
既存の依存関係: -
<dependency>
<groupId>au.com.dius</groupId>
<artifactId>pact-jvm-consumer-junit_2.11</artifactId>
<version>3.3.3</version>
<scope>test</scope>
</dependency>
は、私は他の依存関係を追加する必要があるでしょうか?
この問題を解決するにはどうすればよいですか?
チェックあなたはJavaのビルドに追加し、正しいjarファイルを持っている場合パス。 –
これは実行時エラーです。クラスパスにはありません。コンパイルされていると仮定しています。 もう1つの理由は、コンパイル時ではなく、実行時に間接的に依存する可能性があります。 – Sid