Using the below procedure, I built Oozie with Java 7 and then built and ran the tests with Java 8:
- set java 7
- mvn clean test -DskipTests
- find . -name test-classes | grep target/test-classes | xargs rm -rf // Delete test classes
- set java 8
- mvn test -DtargetJavaVersion=1.8
There were 3 test failures:
- it was expecting 'region=euro,datastamp=20130230' but now got 'datastamp=20130230,region=euro'
- Java 8 changes the behavior of the String.split method to not include a leading empty String if the pattern matches the front of the String. To remain backwards compatible, the solution here was to emulate this behavior so the appendAll method behaves the same as it did with Java 6 and 7.
- it was checking a parameterized error message where the order of the parameters switched