Java JUnit5集成测试在maven 3.5.2版本中失败
Junit5集成在intellij中独立运行,但在具有stacktrace的maven构建中失败,如下所示Java JUnit5集成测试在maven 3.5.2版本中失败,java,junit5,maven-surefire-plugin,openjdk-12,Java,Junit5,Maven Surefire Plugin,Openjdk 12,Junit5集成在intellij中独立运行,但在具有stacktrace的maven构建中失败,如下所示 Caused by: java.lang.IllegalAccessError: superinterface check failed: class eu.nets.domain.QueuedMessage$HibernateProxy$1spaQq7T (in module eu.nets.queue.domain) cannot access class org.hibernate.
Caused by: java.lang.IllegalAccessError: superinterface check failed: class eu.nets.domain.QueuedMessage$HibernateProxy$1spaQq7T (in module eu.nets.queue.domain) cannot access class org.hibernate.proxy.ProxyConfiguration (in unnamed module @0x72a21be8) because module eu.nets.queue.domain does not read unnamed module @0x72a21be8**
at java.base/java.lang.ClassLoader.defineClass1(Native Method) ~[na:na]
at java.base/java.lang.System$2.defineClass(System.java:2189) ~[na:na]
at java.base/java.lang.invoke.MethodHandles$Lookup.defineClass(MethodHandles.java:971) ~[na:na]
at java.base/jdk.internal.reflect.GeneratedMethodAccessor31.invoke(Unknown Source) ~[na:na]
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
at java.base/java.lang.reflect.Method.invoke(Method.java:567) ~[na:na]
at net.bytebuddy.dynamic.loading.ClassInjector$UsingLookup$Dispatcher$ForJava9CapableVm.defineClass(ClassInjector.java:1685) ~[byte-buddy-1.9.16.jar:na]
... 125 common frames omitted
如果需要完整的stacktrace,请告诉我
- 试用最新的maven surefire插件3.0.0-M3
- 以jdk11作为发行版运行
@Test
void fetchMessagesViaAdapter() throws Exception {
MvcResult mvcResult = mockMvc.perform(MockMvcRequestBuilders
.post("/resend")
.content("[\"queue1\"]")
.contentType(APPLICATION_JSON_UTF8_VALUE))
.andExpect(status().isOk())
.andReturn();
String resultDOW = mvcResult.getResponse().getContentAsString();
assertAll(
() -> assertNotNull(resultDOW),
() -> assertEquals("success", resultDOW));
}
模块eu.nets.queue.domain未读取未命名模块
根据您得到的错误,您可以添加以下VM选项来解决此问题-
--add-reads eu.nets.queue.domain=ALL-UNNAMED
您使用的是java模块功能吗?我使用的是java 9模块化。您好,感谢您的回答。时间太长了,我甚至无法复制这个问题