Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[Tomcat] Unerklärliche Fehler bei test. jsp

5 views
Skip to first unread message

Robert Zöhrer

unread,
Aug 18, 2003, 5:26:51 PM8/18/03
to
Hallo,

nachdem der Tomcat nun endlich die Verzeichnisse mehrerer Vhosts
ausserhalb $CATALINA_HOME akzeptiert, nun das nächste Rätsel:

Es gibt eine test.jsp:
################
<% for (int i=0; i < 10; i++) { %>
zeile <%= i %> <br>
<% } %>
################

welche unter http://webteam.at:8080/tomcat/test.jsp auch funkt.

docBase hier:

drwxr-xr-x 2 web156 ftponly 4096 Aug 18 16:09 tomcat

das File:

-rwxrwxrwx 1 web156 ftponly 64 Aug 16 18:32 test.jsp

aber am selben Server, selbe Instanz, selbes File, selbe Settings
(siehe server.xml)

bekomme ich unter http://pronet.at:8080/tomcat/test.jsp einen Fehler,
wie im Browser zu sehen ist. Das Logfile zeigt auch dieselbe Meldung.

docBase hier .. selben permissions:

drwxr-xr-x 2 web10 ftponly 4096 Aug 18 18:37 tomcat

File:

-rwxrwxrwx 1 web10 ftponly 64 Aug 18 16:01 test.jsp

Auf einem 3 Host habe ich es mit anderen Verzeichnisnamen probiert ..
aber wieder mit demselben Fehler:

AppBase hier: /home/www/web200/html/servlet

docBase: myapp

http://eko-immobilien.at:8080/myapp/test.jsp

Ich kann einfach _keinen_ Unterscheid erkennen .. das Testfile funkt
_nur_ unter http://webteam.at:8080/tomcat/test.jsp.

Ein weiterer seltsames Verhalten des Admin Panels: Ich sehe dort
"alte" Hosts und Kontexte, welche aber in der server.xml _nicht_ mehr
aufscheinen. Wenn ich diese "Blindgänger" im Panel löschen will,
bekomme ich Fehlermeldungen. Mir scheint, das da irgendwas faul ist?
Cache oder ähnlich? Wie kann die Anzeige im Panel mit der server.xml
verschieden sein?

Ich bin über jede Hilfe sehr dankbar .. das ganze kommt mir wie ein
spanisches Dorf vor :(

Robert

server.xml:
############################################
<?xml version='1.0' encoding='utf-8'?>
<Server className="org.apache.catalina.core.StandardServer" debug="9"
port="8005" shutdown="SHUTDOWN">
<Listener
className="org.apache.catalina.mbeans.ServerLifecycleListener"
debug="0" jsr77Names="false"/>
<Listener
className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"
debug="0"/>
<GlobalNamingResources>
<Environment name="simpleValue" override="true"
type="java.lang.Integer" value="30"/>
<Resource auth="Container" description="User database that can be
updated and saved" name="UserDatabase" scope="Shareable"
type="org.apache.catalina.UserDatabase"/>
<Resource description="User database that can be updated and
saved" name="UserDatabase2" scope="Shareable"
type="org.apache.catalina.UserDatabase"/>
<ResourceParams name="UserDatabase">
<parameter>
<name>factory</name>
<value>org.apache.catalina.users.MemoryUserDatabaseFactory</value>
</parameter>
<parameter>
<name>pathname</name>
<value>conf/tomcat-users.xml</value>
</parameter>
</ResourceParams>
<ResourceParams name="UserDatabase2">
<parameter>
<name>factory</name>
<value>org.apache.catalina.users.MemoryUserDatabaseFactory</value>
</parameter>
<parameter>
<name>pathname</name>
<value>conf/tomcat-users2.xml</value>
</parameter>
</ResourceParams>
</GlobalNamingResources>
<Service className="org.apache.catalina.core.StandardService"
debug="9" name="Tomcat-Standalone">
<Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
acceptCount="100" bufferSize="2048" compression="off"
connectionLinger="-1" connectionTimeout="20000" debug="0"
disableUploadTimeout="true" enableLookups="true"
maxKeepAliveRequests="100" maxProcessors="75" minProcessors="5"
port="8080"
protocolHandlerClassName="org.apache.coyote.http11.Http11Protocol"
proxyPort="0" redirectPort="8443" scheme="http" secure="false"
tcpNoDelay="true" useURIValidationHack="false">
<Factory
className="org.apache.catalina.net.DefaultServerSocketFactory"/>
</Connector>
<Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
acceptCount="10" bufferSize="2048" compression="off"
connectionLinger="-1" connectionTimeout="20000" debug="9"
disableUploadTimeout="false" enableLookups="true"
maxKeepAliveRequests="100" maxProcessors="75" minProcessors="5"
port="8009"
protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler"
proxyPort="0" redirectPort="8443" scheme="http" secure="false"
tcpNoDelay="true" useURIValidationHack="false">
<Factory
className="org.apache.catalina.net.DefaultServerSocketFactory"/>
</Connector>
<Engine className="org.apache.catalina.core.StandardEngine"
debug="9" defaultHost="localhost"
mapperClass="org.apache.catalina.core.StandardEngineMapper"
name="Standalone">
<Host className="org.apache.catalina.core.StandardHost"
appBase="/home/www/web156/html/public" autoDeploy="true"
configClass="org.apache.catalina.startup.ContextConfig"
contextClass="org.apache.catalina.core.StandardContext" debug="0"
deployXML="true"
errorReportValveClass="org.apache.catalina.valves.ErrorReportValve"
liveDeploy="true"
mapperClass="org.apache.catalina.core.StandardHostMapper"
name="webteam.at" unpackWARs="true">
<Context className="org.apache.catalina.core.StandardContext"
cachingAllowed="true"
charsetMapperClass="org.apache.catalina.util.CharsetMapper"
cookies="true" crossContext="false" debug="9"
docBase="/home/www/web156/html/public/tomcat/"
mapperClass="org.apache.catalina.core.StandardContextMapper"
path="/tomcat" privileged="false" reloadable="false"
swallowOutput="false" useNaming="false"
wrapperClass="org.apache.catalina.core.StandardWrapper">
</Context>
<Logger className="org.apache.catalina.logger.FileLogger"
debug="9" directory="logs" prefix="webteam_at_log." suffix=".txt"
timestamp="true" verbosity="4"/>
</Host>
<Host className="org.apache.catalina.core.StandardHost"
appBase="webapps" autoDeploy="true"
configClass="org.apache.catalina.startup.ContextConfig"
contextClass="org.apache.catalina.core.StandardContext" debug="9"
deployXML="true"
errorReportValveClass="org.apache.catalina.valves.ErrorReportValve"
liveDeploy="true"
mapperClass="org.apache.catalina.core.StandardHostMapper"
name="localhost" unpackWARs="true">
<Context className="org.apache.catalina.core.StandardContext"
cachingAllowed="true"
charsetMapperClass="org.apache.catalina.util.CharsetMapper"
cookies="true" crossContext="false" debug="0" displayName="Tomcat
Administration Application" docBase="../server/webapps/admin"
mapperClass="org.apache.catalina.core.StandardContextMapper"
path="/admin" privileged="true" reloadable="false"
swallowOutput="false" useNaming="true"
wrapperClass="org.apache.catalina.core.StandardWrapper">
<Logger className="org.apache.catalina.logger.FileLogger"
debug="0" directory="logs" prefix="localhost_admin_log." suffix=".txt"
timestamp="true" verbosity="1"/>
</Context>
<Context className="org.apache.catalina.core.StandardContext"
cachingAllowed="true"
charsetMapperClass="org.apache.catalina.util.CharsetMapper"
cookies="true" crossContext="true" debug="9" docBase="examples"
mapperClass="org.apache.catalina.core.StandardContextMapper"
path="/examples" privileged="false" reloadable="true"
swallowOutput="true" useNaming="true"
wrapperClass="org.apache.catalina.core.StandardWrapper">
<Loader className="org.apache.catalina.loader.WebappLoader"
checkInterval="15" debug="9" delegate="false"
loaderClass="org.apache.catalina.loader.WebappClassLoader"
reloadable="true"/>
<Logger className="org.apache.catalina.logger.FileLogger"
debug="9" directory="logs" prefix="localhost_examples_log."
suffix=".txt" timestamp="true" verbosity="4"/>
<Manager
className="org.apache.catalina.session.StandardManager"
algorithm="MD5" checkInterval="60" debug="9" duplicates="0"
expiredSessions="0" maxActive="0" maxActiveSessions="-1"
maxInactiveInterval="1800" pathname="SESSIONS.ser"
randomClass="java.security.SecureRandom" rejectedSessions="0"
sessionCounter="0">
</Manager>
<Parameter name="context.param.name" override="false"
value="context.param.value"/>
<Ejb home="com.wombat.empl.EmployeeRecordHome"
name="ejb/EmplRecord" remote="com.wombat.empl.EmployeeRecord"
type="Entity"/>
<Environment name="maxExemptions" override="true"
type="java.lang.Integer" value="15"/>
<Resource auth="SERVLET" name="jdbc/EmployeeAppDb"
scope="Shareable" type="javax.sql.DataSource"/>
<Resource auth="Container" name="mail/Session"
scope="Shareable" type="javax.mail.Session"/>
<ResourceParams name="jdbc/EmployeeAppDb">
<parameter>
<name>password</name>
<value></value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:HypersonicSQL:database</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>org.hsql.jdbcDriver</value>
</parameter>
<parameter>
<name>username</name>
<value>sa</value>
</parameter>
</ResourceParams>
<ResourceParams name="mail/Session">
<parameter>
<name>mail.smtp.host</name>
<value>localhost</value>
</parameter>
</ResourceParams>
<ResourceLink global="simpleValue"
name="linkToGlobalResource" type="java.lang.Integer"/>
</Context>
<Context className="org.apache.catalina.core.StandardContext"
cachingAllowed="true"
charsetMapperClass="org.apache.catalina.util.CharsetMapper"
cookies="true" crossContext="false" debug="0" displayName="Tomcat
Manager Application" docBase="../server/webapps/manager"
mapperClass="org.apache.catalina.core.StandardContextMapper"
path="/manager" privileged="true" reloadable="false"
swallowOutput="false" useNaming="true"
wrapperClass="org.apache.catalina.core.StandardWrapper">
<ResourceLink global="UserDatabase" name="users"
type="org.apache.catalina.UserDatabase"/>
</Context>
<Logger className="org.apache.catalina.logger.FileLogger"
debug="9" directory="logs" prefix="localhost_log." suffix=".txt"
timestamp="true" verbosity="4"/>
</Host>
<Host className="org.apache.catalina.core.StandardHost"
appBase="/home/www/web200/html/servlet" autoDeploy="true"
configClass="org.apache.catalina.startup.ContextConfig"
contextClass="org.apache.catalina.core.StandardContext" debug="0"
deployXML="true"
errorReportValveClass="org.apache.catalina.valves.ErrorReportValve"
liveDeploy="true"
mapperClass="org.apache.catalina.core.StandardHostMapper"
name="eko-immobilien.at" unpackWARs="true">
<Context className="org.apache.catalina.core.StandardContext"
cachingAllowed="true"
charsetMapperClass="org.apache.catalina.util.CharsetMapper"
cookies="true" crossContext="false" debug="0" docBase="myapp"
mapperClass="org.apache.catalina.core.StandardContextMapper"
path="/myapp" privileged="false" reloadable="false"
swallowOutput="false" useNaming="false"
wrapperClass="org.apache.catalina.core.StandardWrapper">
</Context>
</Host>
<Host className="org.apache.catalina.core.StandardHost"
appBase="/home/www/web10/html/public" autoDeploy="true"
configClass="org.apache.catalina.startup.ContextConfig"
contextClass="org.apache.catalina.core.StandardContext" debug="9"
deployXML="true"
errorReportValveClass="org.apache.catalina.valves.ErrorReportValve"
liveDeploy="true"
mapperClass="org.apache.catalina.core.StandardHostMapper"
name="pronet.at" unpackWARs="true">
<Context className="org.apache.catalina.core.StandardContext"
cachingAllowed="true"
charsetMapperClass="org.apache.catalina.util.CharsetMapper"
cookies="true" crossContext="false" debug="9"
docBase="/home/www/web10/html/public/tomcat/"
mapperClass="org.apache.catalina.core.StandardContextMapper"
path="/tomcat" privileged="false" reloadable="false"
swallowOutput="false" useNaming="false"
wrapperClass="org.apache.catalina.core.StandardWrapper">
</Context>
<Logger className="org.apache.catalina.logger.FileLogger"
debug="9" directory="logs" prefix="pronet_at_log." suffix=".txt"
timestamp="true" verbosity="4"/>
</Host>
<Logger className="org.apache.catalina.logger.FileLogger"
debug="9" directory="logs" prefix="catalina_log." suffix=".txt"
timestamp="true" verbosity="4"/>
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
debug="0" resourceName="UserDatabase" validate="true"/>
</Engine>
</Service>

Thorsten Kamann

unread,
Aug 19, 2003, 4:43:32 AM8/19/03
to
Hallo,

Robert Zöhrer wrote:
> Hallo,
>
> nachdem der Tomcat nun endlich die Verzeichnisse mehrerer Vhosts
> ausserhalb $CATALINA_HOME akzeptiert, nun das nächste Rätsel:
>

> welche unter http://webteam.at:8080/tomcat/test.jsp auch funkt.
>

> aber am selben Server, selbe Instanz, selbes File, selbe Settings
> (siehe server.xml)
>
> bekomme ich unter http://pronet.at:8080/tomcat/test.jsp einen Fehler,
> wie im Browser zu sehen ist. Das Logfile zeigt auch dieselbe Meldung.
>

das ist recht seltsam. Es gäbe nur eine Möglichkeit:

In Tomcat müssten eigentlich noch Backups von den Original-Server.xmls
sein. Dort schmeissen Sie alle Hosts raus und konfigurieren nur die
Admin-Anwendung.

Dann löschst Du alle Inhalte des work-Verzeichnisses.
Danach muss Tomcat gestartet werden und die Hosts und Kontexte mit der
Admin-Anwendung neu angelegt werden.

Vielleicht klappt es dann. Als Test könnte man probieren, ob wenigstens
HTML-Seiten fehlerfrei angezeigt werden.

Ist die web.xml im Verzeichnis conf noch die mitgelieferte oder schon
auf einen Produktionsserver umkonfiguriert?

Viele Grüsse und viel Glück :)
Thorsten Kamann

Robert Zöhrer

unread,
Aug 19, 2003, 6:15:31 AM8/19/03
to
Am 8/19/2003 10:43 AM meinte Thorsten Kamann folgendes:

> Als Test könnte man probieren, ob wenigstens
> HTML-Seiten fehlerfrei angezeigt werden.

ja das geht http://pronet.at:8080/tomcat/TEST.html

> Ist die web.xml im Verzeichnis conf noch die mitgelieferte oder schon
> auf einen Produktionsserver umkonfiguriert?


ist imho noch orginal .. der Absatz für jsp sieht so aus:

<servlet>
<servlet-name>jsp</servlet-name>

<servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
<init-param>
<param-name>logVerbosityLevel</param-name>
<param-value>WARNING</param-value>
</init-param>
<load-on-startup>3</load-on-startup>
</servlet>

und das Mapping

<!-- The mapping for the JSP servlet -->
<servlet-mapping>
<servlet-name>jsp</servlet-name>
<url-pattern>*.jsp</url-pattern>
</servlet-mapping>

kann da was Probleme machen? Gibt es sonst noch entscheidende Stellen
für .jsp's in der web.xml?

Vielen Dank Robert

Thorsten Kamann

unread,
Aug 19, 2003, 8:31:40 AM8/19/03
to
Hey Robert,

Robert Zöhrer wrote:
> Am 8/19/2003 10:43 AM meinte Thorsten Kamann folgendes:
>
>>Als Test könnte man probieren, ob wenigstens
>>HTML-Seiten fehlerfrei angezeigt werden.
>
>
> ja das geht http://pronet.at:8080/tomcat/TEST.html

das ist ja schon mal was. Hast Du probiert mal das HelloWorld-Servlet
dort laufen zu lassen?
Läuft der Tomcat unter dem Security-Kontext (-security Startoption)?

> ist imho noch orginal .. der Absatz für jsp sieht so aus:

das sieht auch so aus wies sein soll. Mein Verdacht war, dass er nicht
kompiliert.

Hast Du das mit der server.xml schon ausprobiert?

Grüsse Thorsten

Robert Zöhrer

unread,
Aug 19, 2003, 9:10:49 AM8/19/03
to
Hi,

Am 8/19/2003 2:31 PM meinte Thorsten Kamann folgendes:

>>ja das geht http://pronet.at:8080/tomcat/TEST.html
>
>
> das ist ja schon mal was. Hast Du probiert mal das HelloWorld-Servlet
> dort laufen zu lassen?

nein .. aber unser Test-jsp ist sicher lauffähig .. Bestätigung durch
anderes System

> Läuft der Tomcat unter dem Security-Kontext (-security Startoption)?

nein soweit ich weiss

> das sieht auch so aus wies sein soll. Mein Verdacht war, dass er nicht
> kompiliert.

Ich glaub, dass ist jetzt auch der Fall oder? Siehe Fehlermeldung
http://pronet.at:8080/tomcat/test.jsp

Wir haben das gesamte Work-Dir (/var/cache/tomcat4/work)
gelöscht und restartet .. und nun läuft nicht mal mehr die
Admin-Oberfläche .. gleicher Fehler wie beim Test-jsp. Er legt auch
das Work-dir nicht mehr (selbstständig) an .. warum? .. Hätten wir das
nicht dürfen?

Danke für deine Hilfe

Christoph Dahlen

unread,
Aug 19, 2003, 9:51:45 AM8/19/03
to
Robert Zöhrer wrote:

> Wir haben das gesamte Work-Dir (/var/cache/tomcat4/work)
> gelöscht und restartet .. und nun läuft nicht mal mehr die
> Admin-Oberfläche .. gleicher Fehler wie beim Test-jsp. Er legt auch
> das Work-dir nicht mehr (selbstständig) an .. warum? .. Hätten wir
> das nicht dürfen?

Platte voll?

Christoph


Robert Zöhrer

unread,
Aug 19, 2003, 9:56:59 AM8/19/03
to
Am 8/19/2003 3:51 PM meinte Christoph Dahlen folgendes:

>
> Platte voll?

nein ..

bash-2.05$ df
Filesystem 1k-blocks Used Available Use% Mounted on
.
.
/dev/sda6 790556 272692 477704 37% /var


aus dem Log für localhost;

2003-08-19 14:27:15 WebappLoader[/admin]: Deploying class repositories
to work directory /var/tomcat4/work/Standalone/localhost/admin
2003-08-19 14:27:15 WebappLoader[/admin]: Deploy class files
/WEB-INF/classes to
/var/tomcat4/webapps/../server/webapps/admin/WEB-INF/classes
2003-08-19 14:27:15 WebappLoader[/admin]: Deploy JAR
/WEB-INF/lib/struts.jar to
/var/tomcat4/webapps/../server/webapps/admin/WEB-INF/lib/struts.jar
2003-08-19 14:27:15 ContextConfig[/admin]: Configured an authenticator
for method FORM
2003-08-19 14:27:15 StandardManager[/admin]: Seeding random number
generator class java.security.SecureRandom
2003-08-19 14:27:15 StandardManager[/admin]: Seeding of random number
generator has been completed
2003-08-19 14:27:15 StandardWrapper[/admin:default]: Loading container
servlet default
2003-08-19 14:27:15 default: init
2003-08-19 14:27:15 action: init
2003-08-19 14:27:19 StandardWrapper[/admin:invoker]: Loading container
servlet invoker
2003-08-19 14:27:19 invoker: init
2003-08-19 14:27:19 jsp: init
2003-08-19 14:27:19 The scratchDir you specified:
/var/tomcat4/work/Standalone/localhost/admin is unusable.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

2003-08-19 14:45:24 StandardWrapperValve[jsp]: Servlet.service() for
servlet jsp threw exception
org.apache.jasper.JasperException: Unable to compile class for JSP
at org.apache.jasper.JspCompilationContext.compile(Unknown Source)
.
.
usw.

Christoph Dahlen

unread,
Aug 19, 2003, 10:04:04 AM8/19/03
to
Robert Zöhrer wrote:

> 2003-08-19 14:27:19 The scratchDir you specified:
> /var/tomcat4/work/Standalone/localhost/admin is unusable.
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Grmpf, das ist ja präzise von Tomcat.

Okay: Beachtest Du Groß-/Kleinschreibung ("Standalone"), ist das
Verzeichnis, inkl. aller Überverzeichnisse für den Tomcat-User nutzbar, d.h.
lesbar, beschreibbar und - bei Verzeichnissen - ausführbar?

Christoph


Robert Zöhrer

unread,
Aug 19, 2003, 10:13:50 AM8/19/03
to
Am 8/19/2003 4:04 PM meinte Christoph Dahlen folgendes:

> Robert Zöhrer wrote:
>
>
>>2003-08-19 14:27:19 The scratchDir you specified:
>>/var/tomcat4/work/Standalone/localhost/admin is unusable.
>>^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

> Okay: Beachtest Du Groß-/Kleinschreibung ("Standalone"), ist das


> Verzeichnis, inkl. aller Überverzeichnisse für den Tomcat-User nutzbar, d.h.
> lesbar, beschreibbar und - bei Verzeichnissen - ausführbar?

naja .. wie gesagt haben wir das Verzeichnis (/var/tomcat4/work/)
gelöscht, um ihn mal rückzusetzen ;) .. ich dachte TC wird sich
sein(e) Work-Dir schon wieder selbst anlegen .. schließlich macht er
das beim anlgen von neuen Hosts u Contexts ja auch .. aber ev darf man
das Parent-Dir /var/tomcat4/work/ doch net löschen :(

lgr

Thorsten Kamann

unread,
Aug 19, 2003, 11:16:27 AM8/19/03
to
Hallo Robert,

Robert Zöhrer wrote:
> Wir haben das gesamte Work-Dir (/var/cache/tomcat4/work)
> gelöscht und restartet .. und nun läuft nicht mal mehr die
> Admin-Oberfläche .. gleicher Fehler wie beim Test-jsp. Er legt auch
> das Work-dir nicht mehr (selbstständig) an .. warum? .. Hätten wir das
> nicht dürfen?

Eigentlich macht er das. Klappt es denn wenn das work Verzeichnis wieder
da ist?
Du kannst im Kontext (server.xml) auch ein WorkDir mitgeben:
<Context ... workDir="Verzeichnis"/>

Was für ein JDK benutzt du denn und was für ein Linux?
Du musst ein JDK benutzen nicht nur ein JRE, ausser Du hast einen
Ant-Task, der die JSPs schon vorkompiliert hat.

Grüsse
Thorsten


Thorsten Kamann

unread,
Aug 19, 2003, 11:19:41 AM8/19/03
to
Robert Zöhrer wrote:
> /var/tomcat4/work/Standalone/localhost/admin is unusable.
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Das Verzeichnis muss von dem Account unter dem der Tomcat gestartet
wurde schreib und lesbar sein.

Evtl. gibts da Probleme, daß in das Verzeichnis /var/tomcat4 nicht
geschrieben werden darf.

Als Test (und nur als Test) den Tomcat als root starten.

Grüsse
Thorsten

Robert Zöhrer

unread,
Aug 19, 2003, 11:44:08 AM8/19/03
to
Am 8/19/2003 5:19 PM meinte Thorsten Kamann folgendes:

> Das Verzeichnis muss von dem Account unter dem der Tomcat gestartet
> wurde schreib und lesbar sein.
>
> Evtl. gibts da Probleme, daß in das Verzeichnis /var/tomcat4 nicht
> geschrieben werden darf.

ls -Al /var liefert

drwxr-xr-x 7 root root 4096 Jul 22 10:36 tomcat4

und

bash-2.05$ ls -Al /var/tomcat4
total 20
drwxr-xr-x 2 root root 4096 Jul 22 10:36 bin
drwxr-xr-x 5 root root 4096 Jul 22 10:36 common
lrwxrwxrwx 1 root root 12 Jul 22 10:36 conf ->
/etc/tomcat4
lrwxrwxrwx 1 root tomcat4 16 Jul 22 10:36 logs ->
/var/log/tomcat4
drwxr-xr-x 5 root root 4096 Jul 22 10:36 server
drwxr-xr-x 3 root root 4096 Jul 22 10:36 shared
lrwxrwxrwx 1 root tomcat4 23 Jul 22 10:36 temp ->
/var/cache/tomcat4/temp
drwxrwx--- 2 root tomcat4 4096 Jul 22 10:36 webapps
lrwxrwxrwx 1 root tomcat4 23 Jul 22 10:36 work ->
/var/cache/tomcat4/work

wobei der Link auf das nicht vorhandene Work-Dir noch da ist.

und

bash-2.05$ ls -Al /var/cache
total 5048

drwxr-xr-x 3 root root 4096 Aug 19 14:26 tomcat4

wobei hier nur das temp-dir drinnen ist

bash-2.05$ ls -Al /var/cache/tomcat4/
total 4
drwxrwxr-x 2 root tomcat4 4096 Aug 19 14:27 temp

Conclusio: da hier anscheinend alles root gehört, muss TC auch mit
root-Rechten (einmalig) gestartet werden, damit er sich sein
/var/cache/tomcat4/work wieder richten kann, oder?

THX Robert


Robert Zöhrer

unread,
Aug 19, 2003, 11:56:56 AM8/19/03
to
Am 8/19/2003 5:16 PM meinte Thorsten Kamann folgendes:

> Was für ein JDK benutzt du denn und was für ein Linux?

Java(TM) 2 SDK, Standard Edition Version 1.4.2

Redhat

> Du musst ein JDK benutzen nicht nur ein JRE, ausser Du hast einen
> Ant-Task, der die JSPs schon vorkompiliert hat.

da JAVA_HOME="/usr/java/jdk" in der conf angegeben, wird das so sein

Christoph Dahlen

unread,
Aug 20, 2003, 3:07:09 AM8/20/03
to
Robert Zöhrer wrote:

> Conclusio: da hier anscheinend alles root gehört, muss TC auch mit
> root-Rechten (einmalig) gestartet werden, damit er sich sein
> /var/cache/tomcat4/work wieder richten kann, oder?

Ne, dann legt er zwar alles an, aber es gehört nach wie vor root. Besser ist
es mit chown die Verzeichnisse und Dateien dem Tomcat user zuzuweisen

Christoph


Thorsten Kamann

unread,
Aug 20, 2003, 3:24:06 AM8/20/03
to
Hallo Robert,

wie ist der Status denn jetzt von dem Problem? Geht schon was mehr als
vorher?

Grüsse
Thorsten

Robert Zöhrer

unread,
Aug 22, 2003, 5:41:34 AM8/22/03
to
Hi,

Am 8/20/2003 9:24 AM meinte Thorsten Kamann folgendes:

> wie ist der Status denn jetzt von dem Problem? Geht schon was mehr als
> vorher?

Status: Die Work-Dirs wurden gelöscht, TC restartet, server.xml blieb
gleich .. dann liefen plötzlich auch die vorher definierten Hosts und
Contexte, d.h. mein Test.jsp lief auch dort überall.

Aber nun kommts: Ich habe dann wieder einen neuen Host angelegt und
einen Context drin (Admin Panel) .. wieder mit dem Test.jsp und im
neuen HOst ging es wieder nicht :(((

Laut Log deployed er richtig .. die Work-Dirs für den neuen Host
wurden angelegt .. dort sind sogar die *.class & *.java Files meiner
Test.jsp drinnen. Nur wenn er die nach dem Aufruf ausführen sill
hagelt es wieder den selben Fehler (unten anbei).

Mir scheint, als braucht TC da jedesmal einen Restart, damit das
funkt. Aber das kann ja nicht im Sinne des Erfinders sein ??

Sehr seltsam das ganze

Jedenfalls mal vielen Dank nochmal für eure Hilfe an dieser Stelle

lg Robert

Error:

javax.servlet.ServletException: org/apache/jasper/runtime/HttpJspBase
at org.apache.jasper.servlet.JspServlet.service(Unknown Source)
at javax.servlet.http.HttpServlet.service(HttpServlet.java)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Unknown
Source)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(Unknown
Source)
.
.
.
.


root cause

java.lang.NoClassDefFoundError: org/apache/jasper/runtime/HttpJspBase
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:537)
at java.lang.ClassLoader.defineClass(ClassLoader.java:448)
at org.apache.jasper.servlet.JasperLoader.loadClass(Unknown Source)
at org.apache.jasper.servlet.JasperLoader.loadClass(Unknown Source)
at org.apache.jasper.JspCompilationContext.load(Unknown Source)
at org.apache.jasper.servlet.JspServletWrapper.getServlet(Unknown Source)
at org.apache.jasper.compiler.Compiler.isOutDated(Unknown Source)

Thorsten Kamann

unread,
Aug 22, 2003, 6:39:30 AM8/22/03
to
Hallo Robert,

Robert Zöhrer wrote:
> Aber nun kommts: Ich habe dann wieder einen neuen Host angelegt und
> einen Context drin (Admin Panel) .. wieder mit dem Test.jsp und im
> neuen HOst ging es wieder nicht :(((

Evtl. mit dem Manager (nicht dem Admin) den Kontext neu laden?

Viele Grüsse
Thorsten Kamann

Georg Stahl

unread,
Aug 22, 2003, 7:41:50 AM8/22/03
to
Thorsten Kamann wrote:

Auch für mich sieht es so aus, dass Tomcat den Kontext nicht neu lädt.

Anstatt den Kontext über den Manager neu zu laden, kann es durch ein
ersetzen von "reloadable="false"" durch "reloadable="true"" für den
entsprechenden Kontext in der server.xml automatisiert werden.

Gruss,
Georg

Thorsten Kamann

unread,
Aug 22, 2003, 7:58:24 AM8/22/03
to
Hallo Georg,

Georg Stahl wrote:
> Auch für mich sieht es so aus, dass Tomcat den Kontext nicht neu lädt.
>
> Anstatt den Kontext über den Manager neu zu laden, kann es durch ein
> ersetzen von "reloadable="false"" durch "reloadable="true"" für den
> entsprechenden Kontext in der server.xml automatisiert werden.

Diese Einstellung habe ich übersehen. Das wäre nämlich eine sogar
plausible Erklärung für das verhalten.

Viele Grüsse
Thorsten

Georg Stahl

unread,
Aug 22, 2003, 8:26:52 AM8/22/03
to
Thorsten Kamann wrote:

Hallo,

> Georg Stahl wrote:
>> Anstatt den Kontext über den Manager neu zu laden, kann es durch ein
>> ersetzen von "reloadable="false"" durch "reloadable="true"" für den
>> entsprechenden Kontext in der server.xml automatisiert werden.
> Diese Einstellung habe ich übersehen.

Um ehrlich zu sein: Ich habe erst nach deinem Posting in der
"Buchstabensammlung" des OP danach gesucht. ;-)

An den OP: zuviel Information hilft nicht immer weiter, da sich
wahrscheinlich keiner die Mühe eine komplette server.xml in einem
Newsreader zu lesen.

> Das wäre nämlich eine sogar plausible Erklärung für das verhalten.

ACK

Gruss,
Georg

0 new messages