Я пытаюсь написать интеграционный тест Spring Boot, используя WebTestClient для вызова остальных URL-адресов.
Интеграционный тест:
@ExtendWith(SpringExtension.class)
@SpringBootTest(classes = SchedulingApplication.class, webEnvironment = RANDOM_PORT)
public class SchedulingControllerIT {
protected WebTestClient webTestClient = WebTestClient.bindToServer()
.baseUrl("http:localhost:8080")
.defaultHeader(HttpHeaders.ACCEPT, MediaType.APPLICATION_JSON_VALUE)
.build();
//tests
Когда я запускаю этот тестовый класс, он завершается с ошибкой ниже.
21:10:36.481 [main] DEBUG io.netty.util.internal.PlatformDependent0 - java.nio.Bits.unaligned: available, true
21:10:36.483 [main] DEBUG io.netty.util.internal.PlatformDependent0 - jdk.internal.misc.Unsafe.allocateUninitializedArray(int): unavailable
java.lang.IllegalAccessException: class io.netty.util.internal.PlatformDependent0$6 cannot access class jdk.internal.misc.Unsafe (in module java.base) because module java.base does not export jdk.internal.misc to unnamed module @33a053d
at java.base/jdk.internal.reflect.Reflection.newIllegalAccessException(Reflection.java:355)
at java.base/java.lang.reflect.AccessibleObject.checkAccess(AccessibleObject.java:639)
at java.base/java.lang.reflect.Method.invoke(Method.java:559)
at io.netty.util.internal.PlatformDependent0$6.run(PlatformDependent0.java:335)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:310)
Мой исходный проект использует Java 8, в то время как этот тестовый класс инициализирует себя с Java 12.
Я прочитал несколько потоков, описывающих версию netty против Java проблемы совместимости.
Есть ли способ, я мог бы принудить это использовать версию Java 8, или любое другое решение этой проблемы?