We evaluate the current Java version we are running on in order to enable Java 8 specific features on Java 8 and beyond. The format of the value for the system property "java.specification.version" has changed, so it returns "9" in Java 9 whereas it used to return "1.8.0" before. We run into an AAIOBE exception as we try to split the value at the dots and access the second element.
See JEP 223 for some background.
Where exactly does this come into play?
, I've updated the description. We examine the version in order to find out whether we are on 8 and beyond or not.