Instalé Ubuntu 14.04 Server, extraje JDK1.8u5 y Tomcat7, y agregué lo siguiente a .profile (también intenté agregarlo a .bashrc con resultados similares [no-]):
export JAVA_HOME=/opt/java/jdk1.8.0_05
export PATH=$PATH:$JAVA_HOME/bin
cuando corro echo $JAVA_HOMEobtengo el resultado esperado de /opt/java/jdk1.8.0_05. También puedo ejecutar java -versiony obtener la respuesta correcta de Java. Hasta aquí todo bien.
así que ahora intento iniciar Tomcat (también probé catalina.sh), y obtengo lo siguiente:
user@ubuntu:~$ sudo /opt/tomcat7/apache-tomcat-7.0.53/bin/startup.sh
Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
At least one of these environment variable is needed to run this program
pero ... ¿acabo de intentarlo echo $JAVA_HOMEy funcionó?
fuente

/root/.bashrccon nano, como sugirió, pero al llamaruser@ubuntu:~$ source /root/.bashrcresultados-bash: /root/.bashrc: Permission deniedy probarlo con sudo producesudo: source: command not found. reintentar el comando original en este punto me lleva de vuelta al punto 0.sudo -iantes que ustedsource. Gracias por señalar eso.sudo -iuna vez que he llamado a la fuente? sin salir de Recibo el mensaje de error original ...exit.La solución que estaba buscando es en la
/etc/environmentque, como se especifica en EnvironmentVariables , no procesa los scripts y no expande las variables, por lo que agregar lo siguiente ( sin exportación) fue el truco:Luego reinicié el sistema para que los cambios surtan efecto.
fuente
Agregué JAVA_HOME en el
tomcat7.servicescript ya quesetenv.shno fue obtenido porcatalina.shPasos:
1.Abra el archivo de script de servicio tomcat7
sudo gedit /etc/init.d/tomcat72.Configura JAVA_HOME
3.Inicie el servicio tomcat7
sudo service tomcat7 statusfuente