com.faster.jackson.module.scala.defaultscalemodule

xu3bshqb  于 2021-07-15  发布在  Flink
关注(0)|答案(2)|浏览(1110)

我已经将我的springboot应用程序从2.1.6.realease更新到了2.4.4,现在我的单元测试不再工作了。
堆栈跟踪是:

  1. java.util.ServiceConfigurationError: com.fasterxml.jackson.databind.Module: Provider com.fasterxml.jackson.module.scala.DefaultScalaModule could not be instantiated
  2. at java.base/java.util.ServiceLoader.fail(ServiceLoader.java:582)
  3. at java.base/java.util.ServiceLoader$ProviderImpl.newInstance(ServiceLoader.java:804)
  4. at java.base/java.util.ServiceLoader$ProviderImpl.get(ServiceLoader.java:722)
  5. at java.base/java.util.ServiceLoader$3.next(ServiceLoader.java:1395)
  6. at com.fasterxml.jackson.databind.ObjectMapper.findModules(ObjectMapper.java:1065)
  7. at org.apache.beam.sdk.testing.TestPipeline.<clinit>(TestPipeline.java:252)
  8. at com.initka.datapipeline.service.automaticpassengercounting.AutomaticPassengerCountingDatabaseServiceTest.<init>(AutomaticPassengerCountingDatabaseServiceTest.java:56)
  9. at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
  10. at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
  11. at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
  12. at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
  13. at org.junit.platform.commons.util.ReflectionUtils.newInstance(ReflectionUtils.java:513)
  14. at org.junit.jupiter.engine.execution.ConstructorInvocation.proceed(ConstructorInvocation.java:56)
  15. at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131)
  16. at org.junit.jupiter.api.extension.InvocationInterceptor.interceptTestClassConstructor(InvocationInterceptor.java:72)
  17. at org.junit.jupiter.engine.execution.ExecutableInvoker.lambda$invoke$0(ExecutableInvoker.java:105)
  18. at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106)
  19. at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64)
  20. at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45)
  21. at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37)
  22. at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:104)
  23. at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:77)
  24. at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeTestClassConstructor(ClassBasedTestDescriptor.java:342)
  25. at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.instantiateTestClass(ClassBasedTestDescriptor.java:289)
  26. at org.junit.jupiter.engine.descriptor.ClassTestDescriptor.instantiateTestClass(ClassTestDescriptor.java:79)
  27. at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.instantiateAndPostProcessTestInstance(ClassBasedTestDescriptor.java:267)
  28. at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$2(ClassBasedTestDescriptor.java:259)
  29. at java.base/java.util.Optional.orElseGet(Optional.java:369)
  30. at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$3(ClassBasedTestDescriptor.java:258)
  31. at org.junit.jupiter.engine.execution.TestInstancesProvider.getTestInstances(TestInstancesProvider.java:31)
  32. at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$prepare$0(TestMethodTestDescriptor.java:101)
  33. at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
  34. at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:100)
  35. at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:65)
  36. at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$prepare$1(NodeTestTask.java:111)
  37. at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
  38. at org.junit.platform.engine.support.hierarchical.NodeTestTask.prepare(NodeTestTask.java:111)
  39. at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:79)
  40. at java.base/java.util.ArrayList.forEach(ArrayList.java:1541)
  41. at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38)
  42. at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143)
  43. at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
  44. at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129)
  45. at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
  46. at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127)
  47. at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
  48. at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126)
  49. at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84)
  50. at java.base/java.util.ArrayList.forEach(ArrayList.java:1541)
  51. at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38)
  52. at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143)
  53. at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
  54. at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129)
  55. at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
  56. at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127)
  57. at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
  58. at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126)
  59. at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84)
  60. at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32)
  61. at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57)
  62. at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51)
  63. at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:229)
  64. at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:197)
  65. at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:211)
  66. at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:191)
  67. at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:137)
  68. at org.eclipse.jdt.internal.junit5.runner.JUnit5TestReference.run(JUnit5TestReference.java:89)
  69. at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:41)
  70. at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:542)
  71. at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:770)
  72. at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:464)
  73. at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:210)
  74. Caused by: java.lang.NoSuchMethodError: 'scala.collection.immutable.Seq$ scala.package$.Seq()'
  75. at com.fasterxml.jackson.module.scala.JacksonModule.$init$(JacksonModule.scala:40)
  76. at com.fasterxml.jackson.module.scala.DefaultScalaModule.<init>(DefaultScalaModule.scala:18)
  77. at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
  78. at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
  79. at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
  80. at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
  81. at java.base/java.util.ServiceLoader$ProviderImpl.newInstance(ServiceLoader.java:780)
  82. ... 70 more

问题似乎发生在这里:

  1. @Rule
  2. public final transient Pipeline pipeline = TestPipeline.create();

我跟踪了stacktrace最后在 ObjectMapper:1065 . 您在那里找到的代码是:

  1. public static List<Module> findModules(ClassLoader classLoader)
  2. {
  3. ArrayList<Module> modules = new ArrayList<Module>();
  4. ServiceLoader<Module> loader = secureGetServiceLoader(Module.class, classLoader);
  5. for (Module module : loader) { // This is line 1065
  6. modules.add(module);
  7. }
  8. return modules;
  9. }

处理for each循环似乎有问题。我找了很多,但找不到解决这个问题的办法。
通常我使用的是java8。我试着将我的windows更新到java11,但是错误仍然出现。
我在这里附上了pom.xml:

  1. <properties>
  2. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  3. <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
  4. <java.version>1.8</java.version>
  5. <spring.boot.version>2.4.4</spring.boot.version>
  6. <apache.beam.version>2.28.0</apache.beam.version>
  7. <hibernate.version>5.4.30.Final</hibernate.version>
  8. </properties>
  9. <build>
  10. <plugins>
  11. <plugin>
  12. <groupId>org.apache.maven.plugins</groupId>
  13. <artifactId>maven-surefire-plugin</artifactId>
  14. <configuration>
  15. <parallel>suitesAndMethods</parallel>
  16. <useUnlimitedThreads>true</useUnlimitedThreads>
  17. </configuration>
  18. </plugin>
  19. <plugin>
  20. <groupId>org.apache.maven.plugins</groupId>
  21. <artifactId>maven-shade-plugin</artifactId>
  22. <dependencies>
  23. <dependency>
  24. <groupId>org.springframework.boot</groupId>
  25. <artifactId>spring-boot-maven-plugin</artifactId>
  26. <version>1.4.0.RELEASE</version>
  27. </dependency>
  28. </dependencies>
  29. <executions>
  30. <execution>
  31. <phase>package</phase>
  32. <goals>
  33. <goal>shade</goal>
  34. </goals>
  35. <configuration>
  36. <artifactSet>
  37. <excludes>
  38. <exclude>com.google.code.findbugs:jsr305</exclude>
  39. </excludes>
  40. </artifactSet>
  41. <filters>
  42. <filter>
  43. <!-- Do not copy the signatures in the META-INF folder. Otherwise,
  44. this might cause SecurityExceptions when using the JAR. -->
  45. <artifact>*:*</artifact>
  46. <excludes>
  47. <exclude>META-INF/*.SF</exclude>
  48. <exclude>META-INF/*.DSA</exclude>
  49. <exclude>META-INF/*.RSA</exclude>
  50. </excludes>
  51. </filter>
  52. </filters>
  53. <transformers>
  54. <transformer
  55. implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
  56. <resource>META-INF/spring.handlers</resource>
  57. </transformer>
  58. <transformer
  59. implementation="org.springframework.boot.maven.PropertiesMergingResourceTransformer">
  60. <resource>META-INF/spring.factories</resource>
  61. </transformer>
  62. <transformer
  63. implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
  64. <resource>META-INF/spring.schemas</resource>
  65. </transformer>
  66. <transformer
  67. implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" />
  68. <!-- append default flink configs -->
  69. <transformer
  70. implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
  71. <resource>reference.conf</resource>
  72. </transformer>
  73. </transformers>
  74. </configuration>
  75. </execution>
  76. </executions>
  77. <configuration>
  78. <createDependencyReducedPom>false</createDependencyReducedPom>
  79. </configuration>
  80. </plugin>
  81. </plugins>
  82. </build>
  83. <dependencies>
  84. <dependency>
  85. <groupId>org.threeten</groupId>
  86. <artifactId>threetenbp</artifactId>
  87. <version>1.3.3</version>
  88. </dependency>
  89. <dependency>
  90. <groupId>org.hibernate</groupId>
  91. <artifactId>hibernate-core</artifactId>
  92. <version>${hibernate.version}</version>
  93. </dependency>
  94. <dependency>
  95. <groupId>org.apache.beam</groupId>
  96. <artifactId>beam-sdks-java-core</artifactId>
  97. <version>${apache.beam.version}</version>
  98. </dependency>
  99. <dependency>
  100. <groupId>com.esotericsoftware</groupId>
  101. <artifactId>kryo</artifactId>
  102. <version>4.0.1</version>
  103. </dependency>
  104. <dependency>
  105. <groupId>org.apache.beam</groupId>
  106. <artifactId>beam-sdks-java-io-kafka</artifactId>
  107. <version>${apache.beam.version}</version>
  108. </dependency>
  109. <dependency>
  110. <groupId>org.apache.beam</groupId>
  111. <artifactId>beam-sdks-java-extensions-json-jackson</artifactId>
  112. <version>${apache.beam.version}</version>
  113. </dependency>
  114. <dependency>
  115. <groupId>org.apache.beam</groupId>
  116. <artifactId>beam-runners-flink-1.12</artifactId>
  117. <version>${apache.beam.version}</version>
  118. </dependency>
  119. <dependency>
  120. <groupId>org.apache.kafka</groupId>
  121. <artifactId>kafka-clients</artifactId>
  122. </dependency>
  123. <dependency>
  124. <groupId>org.apache.beam</groupId>
  125. <artifactId>beam-sdks-java-io-jdbc</artifactId>
  126. <version>${apache.beam.version}</version>
  127. </dependency>
  128. <dependency>
  129. <groupId>com.google.guava</groupId>
  130. <artifactId>guava</artifactId>
  131. <version>27.1-jre</version>
  132. </dependency>
  133. <dependency>
  134. <groupId>org.springframework.boot</groupId>
  135. <artifactId>spring-boot-starter-data-jpa</artifactId>
  136. <version>${spring.boot.version}</version>
  137. </dependency>
  138. <dependency>
  139. <groupId>org.springframework.boot</groupId>
  140. <artifactId>spring-boot-autoconfigure-processor</artifactId>
  141. <version>${spring.boot.version}</version>
  142. </dependency>
  143. <dependency>
  144. <groupId>org.springframework.boot</groupId>
  145. <artifactId>spring-boot-configuration-processor</artifactId>
  146. <version>${spring.boot.version}</version>
  147. <optional>true</optional>
  148. </dependency>
  149. <dependency>
  150. <groupId>com.fasterxml.jackson.module</groupId>
  151. <artifactId>jackson-module-jaxb-annotations</artifactId>
  152. </dependency>
  153. <dependency>
  154. <groupId>com.oracle</groupId>
  155. <artifactId>ojdbc8</artifactId>
  156. <version>1.0.0</version>
  157. </dependency>
  158. <dependency>
  159. <groupId>mysql</groupId>
  160. <artifactId>mysql-connector-java</artifactId>
  161. </dependency>
  162. <dependency>
  163. <groupId>org.mockito</groupId>
  164. <artifactId>mockito-core</artifactId>
  165. <scope>test</scope>
  166. </dependency>
  167. <dependency>
  168. <groupId>org.apache.beam</groupId>
  169. <artifactId>beam-runners-direct-java</artifactId>
  170. <version>2.28.0</version>
  171. <scope>test</scope>
  172. </dependency>
  173. <dependency>
  174. <groupId>com.h2database</groupId>
  175. <artifactId>h2</artifactId>
  176. <scope>test</scope>
  177. </dependency>
  178. <dependency>
  179. <groupId>org.springframework.boot</groupId>
  180. <artifactId>spring-boot-starter-test</artifactId>
  181. <scope>test</scope>
  182. </dependency>
  183. <dependency>
  184. <groupId>org.junit.jupiter</groupId>
  185. <artifactId>junit-jupiter-api</artifactId>
  186. <scope>test</scope>
  187. </dependency>
  188. <dependency>
  189. <groupId>org.junit.vintage</groupId>
  190. <artifactId>junit-vintage-engine</artifactId>
  191. <scope>test</scope>
  192. <exclusions>
  193. <exclusion>
  194. <groupId>org.hamcrest</groupId>
  195. <artifactId>hamcrest-core</artifactId>
  196. </exclusion>
  197. </exclusions>
  198. </dependency>
  199. <dependency>
  200. <groupId>com.bitplan.radolan</groupId>
  201. <artifactId>com.bitplan.radolan</artifactId>
  202. <version>0.0.2</version>
  203. </dependency>
  204. <dependency>
  205. <groupId>org.springframework.kafka</groupId>
  206. <artifactId>spring-kafka-test</artifactId>
  207. <scope>test</scope>
  208. </dependency>
  209. </dependencies>
  210. <repositories>
  211. <repository>
  212. <id>confluent</id>
  213. <url>http://packages.confluent.io/maven/</url>
  214. </repository>
  215. </repositories>

在另一个测试中也有一个错误。但似乎每个人都有一个问题:

  1. java.lang.NoClassDefFoundError: Could not initialize class org.apache.beam.sdk.testing.TestPipeline
  2. at com.initka.datapipeline.service.automaticpassengercounting.AutomaticPassengerCountingDatabaseServiceTest.<init>(AutomaticPassengerCountingDatabaseServiceTest.java:56)
  3. at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
  4. at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
  5. at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
  6. at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
  7. at org.junit.platform.commons.util.ReflectionUtils.newInstance(ReflectionUtils.java:513)
  8. at org.junit.jupiter.engine.execution.ConstructorInvocation.proceed(ConstructorInvocation.java:56)
  9. at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131)
  10. at org.junit.jupiter.api.extension.InvocationInterceptor.interceptTestClassConstructor(InvocationInterceptor.java:72)
  11. at org.junit.jupiter.engine.execution.ExecutableInvoker.lambda$invoke$0(ExecutableInvoker.java:105)
  12. at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106)
  13. at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64)
  14. at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45)
  15. at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37)
  16. at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:104)
  17. at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:77)
  18. at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeTestClassConstructor(ClassBasedTestDescriptor.java:342)
  19. at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.instantiateTestClass(ClassBasedTestDescriptor.java:289)
  20. at org.junit.jupiter.engine.descriptor.ClassTestDescriptor.instantiateTestClass(ClassTestDescriptor.java:79)
  21. at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.instantiateAndPostProcessTestInstance(ClassBasedTestDescriptor.java:267)
  22. at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$2(ClassBasedTestDescriptor.java:259)
  23. at java.base/java.util.Optional.orElseGet(Optional.java:369)
  24. at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$3(ClassBasedTestDescriptor.java:258)
  25. at org.junit.jupiter.engine.execution.TestInstancesProvider.getTestInstances(TestInstancesProvider.java:31)
  26. at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$prepare$0(TestMethodTestDescriptor.java:101)
  27. at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
  28. at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:100)
  29. at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:65)
  30. at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$prepare$1(NodeTestTask.java:111)
  31. at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
  32. at org.junit.platform.engine.support.hierarchical.NodeTestTask.prepare(NodeTestTask.java:111)
  33. at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:79)
  34. at java.base/java.util.ArrayList.forEach(ArrayList.java:1541)
  35. at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38)
  36. at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143)
  37. at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
  38. at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129)
  39. at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
  40. at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127)
  41. at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
  42. at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126)
  43. at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84)
  44. at java.base/java.util.ArrayList.forEach(ArrayList.java:1541)
  45. at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38)
  46. at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143)
  47. at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
  48. at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129)
  49. at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
  50. at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127)
  51. at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
  52. at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126)
  53. at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84)
  54. at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32)
  55. at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57)
  56. at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51)
  57. at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:229)
  58. at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:197)
  59. at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:211)
  60. at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:191)
  61. at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:137)
  62. at org.eclipse.jdt.internal.junit5.runner.JUnit5TestReference.run(JUnit5TestReference.java:89)
  63. at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:41)
  64. at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:542)
  65. at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:770)
  66. at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:464)
  67. at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:210)

也许其他人也有这个问题。我对beam、flink和spring都很陌生。很抱歉,如果这可能是一个简单的配置错误。
ps:我把junit4测试迁移到junit5。
任何帮助都很好
提前谢谢

nukf8bse

nukf8bse1#

看来我找到了这个问题的答案。解决这个问题很困难,花了我一整天的时间。
所以我上面的问题不止一个:
第一个问题:
所以问题似乎出在 beam-runners-flink 以及 spring-kafka-test .
所以我改变了主意 pom.xml 并添加

  1. <dependency>
  2. <groupId>org.apache.beam</groupId>
  3. <artifactId>beam-runners-flink-1.11</artifactId>
  4. <version>${apache.beam.version}</version>
  5. <exclusions>
  6. <exclusion>
  7. <groupId>org.scala-lang</groupId>
  8. <artifactId>scala-library</artifactId>
  9. </exclusion>
  10. </exclusions>
  11. </dependency>

所以呢 beam-runners-flink 使用 scala-libary:1.11 默认情况下。 spring-kafka-test 使用 scala-libary:1.13 . 因此scala 1.11的实现不同于1.13,这两个包之间存在冲突。
不包括scala beam-runners-flink 解决了问题,然后所有代码都是根据scala 1.13编译的。
第二个问题
apachebeam不支持junit5(感谢@danieloliveira提供了这个信息)。但是Spring2.4强制使用junit5。所以他们在一起发生了冲突。参考Spring2.4的发行说明,您需要启用junit4测试。
把这些放在一起似乎是解决我问题的办法。

展开查看全部
zfycwa2u

zfycwa2u2#

不幸的是,apachebeam还不支持junit5。在撰写本文时,有一个jira问题和一个正在进行的请求。但目前,您需要恢复到JUnit4进行ApacheBeam测试。

相关问题