Hola:
Si defines variables de entorno para tu usuario y luego ejecutas con sudo, sudo no "hereda" las variables de entorno del usuario, por lo que JAVA_HOME no estará definido cuando ejecutes como sudo (ni ninguna otra variable del usuario).
Puedes ejecutar sudo haciendo que "preserve" las variables de entorno, bien en la línea de comandos (sudo -E ....) , bien configurándolo en el fichero sudoers (creo recordar que está en /etc/sudoers, tenddrás que buscarlo si no es así).
http://stackoverflow.com/questions/8...hen-using-sudo http://superuser.com/questions/23223...ment-variables
Se bueno.