java-8ibm-cloudibm-jazz

Does Bluemix devops build pipeline support java 8 apps?


Given the Bluemix announcement that java 8 is supported. What do I need to do to get my java 8 app compiling in the IBM Bluesmix build pipeline (jazzhub build and deploy).

I have set the java8 environment variable and restaged the app using the following:

cf set-env <myApp> JBP_CONFIG_IBMJDK "version: 1.8.+"
cf restage <myApp>

The specific 'builder type' I am using is 'Maven' and the failures I receive are around the new date and time classes in java8.

[ERROR] <...>/services/TestHelperService.java:[3,17] package java.time does not exist
[ERROR] <...>/services/TestHelperService.java:[37,17] cannot find symbol
[ERROR] symbol:   class LocalDateTime
[ERROR] location: class <...>.services.TestHelperService

Solution

  • To use Java 8 you need to change the JAVA_HOME environment variable in the build shell command:

    export JAVA_HOME=~/java8
    

    For example:

    #!/bin/bash
    #export JAVA_HOME=~/java8 - Bluemix have changed the java8 location
    export JAVA_HOME=/opt/IBM/java8
    mvn -B package