We have a cron build that just failed due to a change in how openjdk11 is installed. Previously the JDK was installed into /home/travis/openjdk11, but now it seems to be installed into /home/travis/jdk. This change broke our build as we use Maven Toolchains and we must hardcode these paths.

I found that there were some java adjustments made and reverted. I’m hoping this will restore the previous behaviour.

Is there somewhere where this change should be listed or discussed? There’s no mention here nor on changelog dot travis-ci dot com.



Would be curious to learn why the path to the java binary needs to be hard coded. Could you share a link to a build log?


Maven Toolchains provides a way to select an tool implementation based on properties. It’s most commonly used to describe properties like the vendor and version of a JDK or JRE. Toolchains support is used through Maven to allow compiling and execution against a different JDK than being used by Maven. Very useful to ensure you don’t accidentally pull in dependencies built with incompatible Java 11’isms.

For Eclipse/OSGi projects, we add more detail to the toolchains.xml file to record the Java Executable Environment, such as JavaSE-1.8 or JavaSE-11, orCDC-1.1/Foundation-1.1` (for mobile environments).