We need to inspect and rework our calls to JDK internal libs - with JDK 9 this is permitted but throws warnings in logs. In JDK 10 this is to be forbidden and Handles anr/or Unsafe needs to be used. Once done, we will likely need to java a multirelease JARs as the new solution won't be available in JDK 8.
One such case of our reflection usage is the way we create proxies by calling ClassLoader.defineClass() (protected method on CL) in ClassFileUtils. This could instead be done via either Unsafe or Lookup.
There might be some changes required in classfilewriter itself which is to be discovered.
Another part of this issue is to ensure we are continuously testing on JDK 9 (or 10, doesn't matter) as well as JDK 8.
Goal is to be able to execute all our tests with JDK 9 without any WARN messages related to illegal access.