The answer ---
On my production machine, ROOT was running with JAVA_HOME as oracle java 8 ... so was my user ... however, tomcat was being started as a service --- sudo service tomcat7. The environment of my local user did not translate to sudo without the -E flag --- even then, the environment does not translate to the service. You either need to edit the startup script as described by Mkyong https://www.mkyong.com/tomcat/find-out-tomcat-is-using-which-jdk-or-java_home/ or, as I did and verified, you need to edit /etc/default/tomcat7 to explicitly set JAVA_HOME for the tomcat7 service. What tipped me off to this was a good tip to use ps -ef | grep tomcat7 to explore the process list to ensure that I knew without a doubt what version of JAVA tomcat was actually running. This is a particular problem with Spring Boot as I understand it. The failure is silent --- not reported in the CATALINA log. Java alternatives won't help as it reflects user configuration --- not tomcat7 service configuration. Perhaps someone more familiar with unix sys admin can fill in more details here.
Thanks Tim for offering to help.
get schwifty. tiny ad:
Building a Better World in your Backyard by Paul Wheaton and Shawn Klassen-Koop