I found it made a difference which Java 7 was used by Tomcat 6.
#JAVA_HOME=/usr/lib/jvm/java-7-openjdk ## Did not work
JAVA_HOME=/usr/lib/jvm/java-7-oracle ## DID WORK
By "Did not work", I specifically mean, on booting up my webapp I got ClassNotFoundException: java.lang.AutoCloseable
. This interface is new with Java 7.
Caused by: java.lang.NoClassDefFoundError: java/lang/AutoCloseable
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:751)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:144)
at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2818)
at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1159)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1647)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
at org.springframework.util.ClassUtils.forName(ClassUtils.java:249)
at org.springframework.beans.factory.support.AbstractBeanDefinition.resolveBeanClass(AbstractBeanDefinition.java:395)
at org.springframework.beans.factory.support.AbstractBeanFactory.doResolveBeanClass(AbstractBeanFactory.java:1349)
at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1320)
... 47 more
Caused by: java.lang.ClassNotFoundException: java.lang.AutoCloseable
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
... 58 more