I had the same problem and it was solved by placing the variable definition JAVA_HOMEin the file /etc/environment.
First, I created an environment variable JAVA_HOMEthat calls:
$ export JAVA_HOME=<path_to_my_java_home>
Then I realized that the Tomcat startup.shscript could not access the value of the variable JAVA_HOMEwhen it was called with the help sudothat is needed to start the Tomcat server.
At first, I tried to export the variable JAVA_HOMEusing sudo, but this did not work:
$ sudo export JAVA_HOME=<path_to_my_java_home>
sudo: export: command not found
JAVA_HOME /etc/environment.
/etc/enviroment:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
JAVA_HOME=/usr/lib/jvm/java-7-oracle
Tomcat startup.sh script sudo http://localhost:8080, Tomcat, , .