You are not logged in.
Yesterday I upgraded from tomcat 7.0.16 => 7.0.19
and now
rc.d start tomcat7
would fail with:
:: Starting tomcat7 daemon [BUSY]
Cannot locate Java Home
[FAIL]
It's still just working right before I hit pacman -Syu.........
while I try reinstalling jdk/jre or go back to tomcat 7.0.16,
it doesn't make any difference.
And I'm sure that I've set $JAVA_HOME and $JRE_HOME correctly.
But strange enough, when I try su to root and /etc/rc.d/tomcat7 start
It works.
but when I tried sudo /etc/rc.d/tomcat7 start
It failed like before.
I also tried /usr/share/tomcat7/bin/setclasspath.sh and it works if i'm root already,
or it would failed giving similar message if i try sudo.
Offline
Hi! i've solved this problem for me by adding "TOMCAT_JAVA_HOME=/opt/java \" in /etc/rc.d/tomcat file like described here: https://wiki.archlinux.org/index.php/Tomcat_and_Apache
Offline
Hi! I changed my /etc/rc.d/tomcat7 file like this
#!/bin/bash
daemon_name=tomcat7
TOMCAT_JAVA_HOME=/opt/java \
. /etc/rc.conf
. /etc/rc.d/functions
. /etc/conf.d/${daemon_name}
case "$1" in
start)
stat_busy "Starting ${daemon_name} daemon"
PID=$(get_pid 'jsvc.exec')
if [ -z "$PID" ]; then
[ -f /var/run/${daemon_name}.pid ] && rm -f /var/run/${daemon_name}.pid
# RUN
/usr/bin/jsvc \
-Dcatalina.home=${CATALINA_HOME} \
-Dcatalina.base=${CATALINA_BASE} \
-Djava.io.tmpdir=/var/tmp/tomcat7/temp \
-cp /usr/share/java/commons-daemon.jar:/usr/share/java/eclipse-ecj.jar:${CATALINA_HOME}/bin/bootstrap.jar:${CATALINA_HOME}/bin/tomcat-juli.jar \
-user tomcat \
-java-home ${TOMCAT_JAVA_HOME} \
-wait 10 \
-pidfile /var/run/${daemon_name}.pid \
-errfile /var/log/tomcat7/catalina.err \
-outfile /var/log/tomcat7/catalina.out \
${CATALINA_OPTS} \
org.apache.catalina.startup.Bootstrap
if [ $? -gt 0 ]; then
stat_fail
exit 1
else
add_daemon ${daemon_name}
stat_done
fi
else
stat_fail
exit 1
fi
;;
stop)
stat_busy "Stopping ${daemon_name} daemon"
# STOP
/usr/bin/jsvc \
-pidfile /var/run/${daemon_name}.pid \
-stop \
org.apache.catalina.startup.Bootstrap
#
if [ $? -gt 0 ]; then
stat_fail
exit 1
else
rm -f /var/run/${daemon_name}.pid &> /dev/null
rm_daemon ${daemon_name}
stat_done
fi
;;
restart)
$0 stop
sleep 3
$0 start
;;
status)
stat_busy "Checking ${daemon_name} status";
ck_status ${daemon_name}
;;
*)
echo "usage: $0 {start|stop|restart|status}"
esac
exit 0
but it still give me the Cannot locate Java Home error.
Offline