Skip to content

Build failure on Java 16 #3877

Closed
Closed
@fmbenhassine

Description

@fmbenhassine

The following tests fail on JDK 16:

  • XStreamMarshallingTests
  • XStreamUnmarshallingTests

Here is the failure:

java.lang.ExceptionInInitializerError
	at com.thoughtworks.xstream.XStream.setupConverters(XStream.java:990)
	at com.thoughtworks.xstream.XStream.<init>(XStream.java:593)
	at org.springframework.oxm.xstream.XStreamMarshaller$1.<init>(XStreamMarshaller.java:432)
	at org.springframework.oxm.xstream.XStreamMarshaller.constructXStream(XStreamMarshaller.java:431)
	at org.springframework.oxm.xstream.XStreamMarshaller.buildXStream(XStreamMarshaller.java:419)
	at org.springframework.util.function.SingletonSupplier.get(SingletonSupplier.java:97)
	at org.springframework.util.function.SingletonSupplier.obtain(SingletonSupplier.java:115)
	at org.springframework.oxm.xstream.XStreamMarshaller.getXStream(XStreamMarshaller.java:624)
	at org.springframework.oxm.xstream.XStreamMarshaller.doMarshal(XStreamMarshaller.java:728)
	at org.springframework.oxm.xstream.XStreamMarshaller.marshalSaxHandlers(XStreamMarshaller.java:687)
	at org.springframework.oxm.xstream.XStreamMarshaller.marshalXmlEventWriter(XStreamMarshaller.java:668)
	at org.springframework.oxm.support.AbstractMarshaller.marshalStaxResult(AbstractMarshaller.java:284)
	at org.springframework.oxm.support.AbstractMarshaller.marshal(AbstractMarshaller.java:236)
	at org.springframework.batch.item.xml.StaxEventItemWriter.write(StaxEventItemWriter.java:806)
	at org.springframework.batch.item.xml.AbstractStaxEventWriterItemWriterTests$2.doInTransaction(AbstractStaxEventWriterItemWriterTests.java:90)
	at org.springframework.batch.item.xml.AbstractStaxEventWriterItemWriterTests$2.doInTransaction(AbstractStaxEventWriterItemWriterTests.java:86)
	at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140)
	at org.springframework.batch.item.xml.AbstractStaxEventWriterItemWriterTests.testWrite(AbstractStaxEventWriterItemWriterTests.java:86)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:567)
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)
	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
	at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
	at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
	at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100)
	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63)
	at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
	at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
	at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
	at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
	at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69)
	at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33)
	at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:220)
	at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:53)
Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make field private final java.util.Comparator java.util.TreeMap.comparator accessible: module java.base does not "opens java.util" to unnamed module @77f03bb1
	at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:357)
	at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
	at java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:177)
	at java.base/java.lang.reflect.Field.setAccessible(Field.java:171)
	at com.thoughtworks.xstream.core.util.Fields.locate(Fields.java:40)
	at com.thoughtworks.xstream.converters.collections.TreeMapConverter.<clinit>(TreeMapConverter.java:50)
	... 45 more

The full build log can be found here. The issue com.thoughtworks.xstream.XStream.setupConverters(XStream.java:990) is related to XStream (see x-stream/xstream#218) which was fixed in v1.4.13. Spring Batch currently uses v1.4.12.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions