Akka-stream_2.12 has classes compiled with jdk11?

the class JavaFlowSupport seems compiled with jdk11. Is this intended? when i have tools that do class scanning that are expecting jdk8, it barfs, and i can’t continue. Is there a 2.12 variant that only relies on jdk8?


Classfile /home/dave/Desktop/javadsl/JavaFlowSupport.class
Last modified Sep 6, 2019; size 788 bytes
MD5 checksum 9e5d03f67404b811f73492260b797b08
Compiled from “JavaFlowSupport.java”
public final class akka.stream.javadsl.JavaFlowSupport
minor version: 0
major version: 55

JavaFlowSupport is for integration with the reactive-streams APIs after they became part of the JDK stdlib (9+) so that is why they have to be compiled with a later JDK. Theres no artifacts published without it. You can perhaps omit that specific class from your JDK8-only tools or preprocess the jar to skip that class.

In normal usage it is not a problem because you wouldn’t touch that class on JDK8 as the APIs aren’t int the stdlib.

Thanks, is that class (and it’s inner class, Sink) the only ones? or is there some way to determine which classes are jdk11 without manually looking at each?

That class an its inner classes (Source, Flow, Sink) are the only ones.