Apache Tomcat, vägrar starta

Avdelningen för programmering, nätverk samt alternativa OS.
Post Reply
User avatar
Big_Bird
Posts: 7003
Joined: 2002-03-08 21:44:32
Location: Göteborg
Contact:

Apache Tomcat, vägrar starta

Post by Big_Bird »

Fortsättning på mitt gnäll om variabler.
Har nu lyckats sätta $JAVA_HOME så den pekar på /usr/local/linux-sun-jsdk1.4.2
Allt enligt dokumentationen och diverse googlande.

Har också lagt in $JAVA_HOME i .cshrc

Men Jakarta Tomcat vägrar fortfarande att gå igång under förevändningen att:
The JAVA_HOME environment variable is not defined correctly
This environment variable is needed to run this program
NB: JAVA_HOME should point to a JDK not a JRE
Men jag kan inte hitta på något sätt att jag skulle ha fel java-directory utpekat. Det är ju en JDK

Code: Select all

# $FreeBSD: src/etc/root/dot.cshrc,v 1.29 2004/04/01 19:28:00 krion Exp $
#
# .cshrc - csh resource script, read at beginning of execution by each shell
#
# see also csh(1), environ(7).
#

alias h         history 25
alias j         jobs -l
alias la        ls -a
alias lf        ls -FA
alias ll        ls -lA

# A righteous umask
umask 22

set path = (/sbin /bin /usr/sbin /usr/bin /usr/games /usr/local/sbin /usr/local/
bin /usr/X11R6/bin $HOME/bin)

setenv  EDITOR  vi
setenv  PAGER   more
setenv  BLOCKSIZE       K
setenv JAVA_HOME /usr/local/linux-sun-jsdk1.4.2


set path = (/sbin /bin /usr/sbin /usr/bin /usr/games /usr/local/sbin /usr/local/
bin /usr/X11R6/bin $HOME/bin)

setenv  EDITOR  vi
setenv  PAGER   more
setenv  BLOCKSIZE       K
setenv JAVA_HOME /usr/local/linux-sun-jsdk1.4.2
setenv PATH=$JAVA_HOME/bin:$PATH:$HOME/bin:/sbin:/usr/sbin

if ($?prompt) then
        # An interactive shell -- set some stuff up
        set prompt = "`/bin/hostname -s`# "
        set filec
        set history = 100
        set savehist = 100
        set mail = (/var/mail/$USER)
        if ( $?tcsh ) then
                bindkey "^W" backward-delete-word
                bindkey -k up history-search-backward
                bindkey -k down history-search-forward
        endif
endif
Jag kommer inte vidare. Och jag skulle verkligen behöva komma vidare, jag har två program till att installera innan jag kan börja mecka med publiceringssystemet som jag behöver ha fixat innan kursen börjar.
Till den det berör: det som du ser skrivet ovan är min åsikt. Den är inte nödvändigtvis sann, objektiv eller absolut. Jag skiter fullständigt i vad du tycker om hur den är formulerad.
User avatar
Ancalagon
Posts: 550
Joined: 2002-03-08 14:16:41
Location: Stockholm

Post by Ancalagon »

Kanske har du sysslat med windows tidigare?
I UNIX finns (inte vad jag vet iaf) inte några globala miljövariabler, istället har varje program en helt egen uppsättning. Denna uppsättning miljövariabler skickas vidare till processens barn, alltså har du två fönster med shells, sätter JAVA_HOME i det ena och startar tomcat i det andra så kommer inte JAVA_HOME vara satt för tomcat...

så kolla en extra gång att JAVA_HOME är satt om tomcat klagar .. typ

Code: Select all

#./startup.sh
The JAVA_HOME environment variable is not defined correctly
This environment variable is needed to run this program
NB: JAVA_HOME should point to a JDK not a JRE
#echo $JAVA_HOME
....
(mycket möjligt att denna inte behövdes - men den ser iaf cool ut :D )

om JAVA_HOME är tom så sätt den så klart, om det däremot redan innehåller rätt path skulle jag i ditt ställe testa en annan release...
User avatar
IcePic
Hedersbit
Posts: 6061
Joined: 2002-03-08 16:09:38

Post by IcePic »

Ancalagon wrote: om JAVA_HOME är tom så sätt den så klart, om det däremot redan innehåller rätt path skulle jag i ditt ställe testa en annan release...
Sätt den i scriptet som startar tomcat:en, så man vet att den gäller.
De är inte globala, men de ärvs nedåt från alla program, så sätter man den
(setenv eller export beroende på shell) så gäller den tills annat sägs. Däremot
finns det ingen bra plats att sätta en variabel som gäller för hela systemet och
alla användare och uppstartsscriptar samtidigt (för att det skulle ställa till det
mer än vinsten) så se till att den görs innan tomcat:en startas i tomcat-scriptet
så löser det sig nog.
(Och startscript brukar oftast vara sh-baserade, så det blir
JAVA_HOME=x/y/z
export JAVA_HOME
som gäller..)
Oh give me a clone, my very own clone,
with the Y chromosome changed to X!
And since she's my own, of my own flesh and bone,
she'll be thinking of nothing but sex!
User avatar
Big_Bird
Posts: 7003
Joined: 2002-03-08 21:44:32
Location: Göteborg
Contact:

Post by Big_Bird »

Jag har definierat JAVA_HOME i det shell som ska starta tomcat och echo returnerar vad som jag har all anledning att tro är rätt katalog. (den som innehåller javac)

Får pröva att sätta det i startup.sh eller catalina.sh enligt IcePics rekommendation.
Till den det berör: det som du ser skrivet ovan är min åsikt. Den är inte nödvändigtvis sann, objektiv eller absolut. Jag skiter fullständigt i vad du tycker om hur den är formulerad.
User avatar
Big_Bird
Posts: 7003
Joined: 2002-03-08 21:44:32
Location: Göteborg
Contact:

Post by Big_Bird »

provade att sätta den i först startup.sh

Code: Select all

#!/bin/sh
# -----------------------------------------------------------------------------
# Start Script for the CATALINA Server
#
# $Id: startup.sh,v 1.3.2.1 2004/11/17 20:06:34 yoavs Exp $
# -----------------------------------------------------------------------------

#Här dårå
[b]JAVA_HOME=/usr/local/linux-sun-jdk1.4.2 [/b]


# Detect OS400: see Bugzilla 31132

os400=false
case "`uname`" in
CYGWIN*) cygwin=true;;
OS400*) os400=true;;
esac
 


# resolve links - $0 may be a softlink
PRG="$0"

while [ -h "$PRG" ] ; do
  ls=`ls -ld "$PRG"`
  link=`expr "$ls" : '.*-> \(.*\)$'`
  if expr "$link" : '.*/.*' > /dev/null; then
    PRG="$link"
  else
    PRG=`dirname "$PRG"`/"$link"
  fi
done
 
PRGDIR=`dirname "$PRG"`
EXECUTABLE=catalina.sh

# Check that target executable exists
if $os400; then
  # -x will Only work on the os400 if the files are: 
  # 1. owned by the user
  # 2. owned by the PRIMARY group of the user
  # this will not work if the user belongs in secondary groups
  eval
else
  if [ ! -x "$PRGDIR"/"$EXECUTABLE" ]; then
    echo "Cannot find $PRGDIR/$EXECUTABLE"
    echo "This file is needed to run this program"
    exit 1
  fi
fi

exec "$PRGDIR"/"$EXECUTABLE" start "$@"
Och även i catalina.sh
(som är 6 A4 långt och därför kanske inte helt rätt att placera här)

Bägge gnäller över att jag inte har definierat JAVA_HOME rätt. Återstår då bara att jag ska ha fel directory. Men Det kan inte gärna vara något annat än /usr/local/linux-sun-jdk1.4.2/ För det är där alla javafilerna ligger.
Till den det berör: det som du ser skrivet ovan är min åsikt. Den är inte nödvändigtvis sann, objektiv eller absolut. Jag skiter fullständigt i vad du tycker om hur den är formulerad.
User avatar
IcePic
Hedersbit
Posts: 6061
Joined: 2002-03-08 16:09:38

Post by IcePic »

Glöm inte att sätta
export JAVA_HOME
under definitionen av den.
Oh give me a clone, my very own clone,
with the Y chromosome changed to X!
And since she's my own, of my own flesh and bone,
she'll be thinking of nothing but sex!
User avatar
Big_Bird
Posts: 7003
Joined: 2002-03-08 21:44:32
Location: Göteborg
Contact:

Post by Big_Bird »

Hm...
Funkar inte, lade in:
JAVA_HOME /usr/local/linux-sun-jsdk1.4.2
setenv JAVA_HOME
i catalina.sh

testade också med
JAVA_HOME /usr/local/linux-sun-jsdk1.4.2
export JAVA_HOME
inget av dem hjälpte.

inte heller
JAVA_HOME=/usr/local/linux-sun-jsdk1.4.2
export JAVA_HOME
Till den det berör: det som du ser skrivet ovan är min åsikt. Den är inte nödvändigtvis sann, objektiv eller absolut. Jag skiter fullständigt i vad du tycker om hur den är formulerad.
User avatar
IcePic
Hedersbit
Posts: 6061
Joined: 2002-03-08 16:09:38

Post by IcePic »

Det är iofs enbart nedersta som är korrekt för sh.
Oh give me a clone, my very own clone,
with the Y chromosome changed to X!
And since she's my own, of my own flesh and bone,
she'll be thinking of nothing but sex!
User avatar
Big_Bird
Posts: 7003
Joined: 2002-03-08 21:44:32
Location: Göteborg
Contact:

Post by Big_Bird »

Okej, då vet jag vilket som borde ha funkat.
Jag börjar bli lätt irriterat desperat på den här skiten nu, eftersom jag vill ha igång InfoGlue innan terminen drar igång på allvar, så jag provar saker och ting i blindo.

Man tycker ju kanske att en lite mer utförlig beskrivning av processen hade kunnat vara trevlig att bifoga med programmet.
Men de verkar inte vara så intresserade av att vara hjälpsamma.

Antagligen tycker de att de övriga stegen i processen är Suns och Apaches problem. Men om jag inte får igång deras jävla publiceringssystem så lär jag ju inte bli en nöjd kund.
Till den det berör: det som du ser skrivet ovan är min åsikt. Den är inte nödvändigtvis sann, objektiv eller absolut. Jag skiter fullständigt i vad du tycker om hur den är formulerad.
User avatar
IcePic
Hedersbit
Posts: 6061
Joined: 2002-03-08 16:09:38

Post by IcePic »

Efter att ha läst om tråden föreslår jag att du laddar ner en JDK, och lägger
den bredvid den JSDK du har nu. Det må eller må inte vara samma sak eller
att en JSDK är ett superset av en JDK, men av nån anledning verkar ju din
catalina hitta nåt att gå på, men inte vara nöjd med den.
Oh give me a clone, my very own clone,
with the Y chromosome changed to X!
And since she's my own, of my own flesh and bone,
she'll be thinking of nothing but sex!
User avatar
Big_Bird
Posts: 7003
Joined: 2002-03-08 21:44:32
Location: Göteborg
Contact:

Post by Big_Bird »

Okej,
jag ska prova det.
Tack :)
Till den det berör: det som du ser skrivet ovan är min åsikt. Den är inte nödvändigtvis sann, objektiv eller absolut. Jag skiter fullständigt i vad du tycker om hur den är formulerad.
User avatar
Big_Bird
Posts: 7003
Joined: 2002-03-08 21:44:32
Location: Göteborg
Contact:

Post by Big_Bird »

Using CATALINA_BASE: /usr/local/jakarta-tomcat-5.0.30
Using CATALINA_HOME: /usr/local/jakarta-tomcat-5.0.30
Using CATALINA_TMPDIR: /usr/local/jakarta-tomcat-5.0.30/temp
Using JAVA_HOME: /usr/local/jdk1.5.0_04/
Man IcePic, jag älskar dig...
På ett lagom könlöst och asexuellt sätt, rent platoniskt och så där, visserligen...

Det var banne mig JSDK som var felet. (och det var min överordnade som hade tankat ner det, så min rygg är fri :) )
Installerade en hederlig JDK och satte variabeln. Nu är jag redo för att få liv i mysql istället.

Tack för hjälpen.
Till den det berör: det som du ser skrivet ovan är min åsikt. Den är inte nödvändigtvis sann, objektiv eller absolut. Jag skiter fullständigt i vad du tycker om hur den är formulerad.
Post Reply