Using jdk "openjdk8" brings javac 9.0.1

I am confused. Source of confusion:

When using jdk option “openjdk8” in “trusty” I receive the following build information:

$ java -Xmx32m -version

openjdk version “1.8.0_141”

OpenJDK Runtime Environment (build 1.8.0_141-8u141-b15-3~14.04-b15)

OpenJDK 64-Bit Server VM (build 25.141-b15, mixed mode)

$ javac -J-Xmx32m -version

javac 9.0.1

When using “oraclejdk8” I get:

$ java -Xmx32m -version

java version “1.8.0_151”

Java™ SE Runtime Environment (build 1.8.0_151-b12)

Java HotSpot™ 64-Bit Server VM (build 25.151-b12, mixed mode)

$ javac -J-Xmx32m -version

javac 1.8.0_151

And for “openjdk11” I get:

$ java -Xmx32m -version

openjdk version “11.0.2” 2019-01-15

OpenJDK Runtime Environment 18.9 (build 11.0.2+9)

OpenJDK 64-Bit Server VM 18.9 (build 11.0.2+9, mixed mode)

$ javac -J-Xmx32m -version

javac 11.0.2

Did I misunderstand anything? Shouldn’t it be “javac 1.8.x” for “openjdk8”?

On build I switched to “xenial” and here I get the following for “openjdk8”:

$ java -Xmx32m -version

openjdk version “1.8.0_191”

OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)

OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)

$ javac -J-Xmx32m -version

javac 1.8.0_191

So I really assume there is an issue with “openjdk8” on “trusty”.

Seems to be the same issue as Chosen JDK for build is not honoured as javac and java binaries differ in versions … a bug in the underlying operating system.

1 Like