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_HOME
obtengo el resultado esperado de /opt/java/jdk1.8.0_05
. También puedo ejecutar java -version
y 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_HOME
y funcionó?
fuente
/root/.bashrc
con nano, como sugirió, pero al llamaruser@ubuntu:~$ source /root/.bashrc
resultados-bash: /root/.bashrc: Permission denied
y probarlo con sudo producesudo: source: command not found
. reintentar el comando original en este punto me lleva de vuelta al punto 0.sudo -i
antes que ustedsource
. Gracias por señalar eso.sudo -i
una 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/environment
que, 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.service
script ya quesetenv.sh
no fue obtenido porcatalina.sh
Pasos:
1.Abra el archivo de script de servicio tomcat7
sudo gedit /etc/init.d/tomcat7
2.Configura JAVA_HOME
3.Inicie el servicio tomcat7
sudo service tomcat7 status
fuente