I've recently encountered an issue where a user's web based application requires Java 8 to run, but is calling Java 7 and causing a crash.
The user has Java 8 attached as its own stack, but there's another stack attached which has Java 1.7 included.
Whilst identifying the 1.7 stack in question, I removed all stacks but Java 1.8, and some default apps (Firefox, Chrome, Flash Player, etc).
Upon reassigning all his previous stacks immediately for testing, I noticed that 1.8 was now taking precedence and the web based app was now working for the user.
This leads me to believe that AppVolumes has some form of App heirarchy dependent on when it is assigned.
Can anyone confirm?
It's GOlden image --> Appstacks --> Writable.
And although I can't conclude for 100% I believe the last appstack that is assigned wins.
Looking at Java isn't it that it will seek for any available JRE versions and assign one of them? You should be able to select the proper version to use and safe that setting using UEM.