Hi Bookies,

I currently have a unique situation and wanted the community's advice on it.
I have an older fork of the Bookkeeper repo which runs on JDK8 and I want
to run with JDK11.
Specifically I want to build Bookkeeper with JDK8 but run its unit tests
with JDK11.
Usually runtime JRE/JDK changes aren't that much of a big deal but running
the unit tests often requires changes in the code as JDK11 doesn't support
some of the things which were supported in JDK8.

My first action was to upgrade Mockito to 3.0.0 and Powermock to 2.0.2
which resolved around 60% of the errors.
However, now I am left with the remaining 30% which are mainly of these
types:

1.
[ERROR] testTriggerAudit(org.apache.bookkeeper.bookie.BookieShellTest)
 Time elapsed: 2.329 s  <<< ERROR!
java.lang.IllegalAccessError: class javax.xml.parsers.FactoryFinder (in
unnamed module @0x4b4a2fa8) cannot access class
jdk.xml.internal.SecuritySupport (in module java.xml) because module
java.xml does not export jdk.xml.internal to unnamed module @0x4b4a2fa8
at
org.apache.bookkeeper.bookie.BookieShellTest.setup(BookieShellTest.java:115)

2.
[ERROR]
testGetLedgerManagerFactory(org.apache.bookkeeper.meta.zk.ZKMetadataDriverBaseTest)
 Time elapsed: 0.002 s  <<< ERROR!
java.lang.NoClassDefFoundError: Could not initialize class
org.apache.bookkeeper.conf.ClientConfiguration
at
org.apache.bookkeeper.meta.zk.ZKMetadataDriverBaseTest.setup(ZKMetadataDriverBaseTest.java:64)

Any advice on what to do?
I know Enrico and Sijie have worked on this before so appreciate any help
from your experiences with this!

Regards,
Anup

Reply via email to