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

Fehler beim Starten von Tomcat

3 views
Skip to first unread message

Sandra Hagmann

unread,
Jul 16, 2002, 4:29:22 AM7/16/02
to
Hallo,


ich trage folgendes in die server.xml ein, starte dann tomcat und erhalte diese
Fehlermeldung.


org.xml.sax.SAXParseException: Element type "web-app" must be declared.


server.xml
...
<Context path="/pizza"
docBase="I:/hagmann/java/projekte/Pizza/Teil1/develop/sources/jspTutorial-app"
debug="0" reloadable="true">
</Context>

Ändere ich nun die docBase ab, dann kommt der Fehler nicht mehr, der
Pizzaservice läuft aber trotzdem nicht!


docBase="I:/hagmann/java/projekte/Pizza/Teil1/develop/sources/jsp"

Beim Aufruf: http:/7127.0.0.1:8080/pizza/jspTutorial kommt die Fehlermeldung,
dass er das Verzeichnis jspTutorial nicht findet!

Es liegt der Verdacht nahe, dass man keine beliebig langen Verzeichnisnamen
vergeben kann oder die Pfade zu lang sind!


Was bedeutet denn die Fehlermeldung? Ich habe bei dem kürzeren Pfad ja auch
nichts extra deklariert!


TIA, Sandra
--
__________________________________________________________
News suchen, lesen, schreiben mit http://newsgroups.web.de

Stefan Matthias Aust

unread,
Jul 16, 2002, 4:34:56 AM7/16/02
to
Sandra Hagmann wrote:

> ich trage folgendes in die server.xml ein, starte dann tomcat und erhalte diese
> Fehlermeldung.
>
> org.xml.sax.SAXParseException: Element type "web-app" must be declared.

Ich rate mal, dass du vielleicht an

I:/..../jspTutorial-app/WEB-INF/

keine web.xml-Datei stehen hast oder wenigstens keine, die mit dem tag
<web-app> beginnt...

> server.xml

Daran liegt es nicht.

> Ändere ich nun die docBase ab, dann kommt der Fehler nicht mehr, der
> Pizzaservice läuft aber trotzdem nicht!

Was sagen denn die Logs in CATALINA_HOME/logs? Dort sollte Tomcat dir
eigentlich melden, was sache ist.

> Es liegt der Verdacht nahe, dass man keine beliebig langen Verzeichnisnamen
> vergeben kann oder die Pfade zu lang sind!

Windows kann bis 256, maximal 10 Verzeichnisebenen oder so, Linux
üblicherweise mindestens 1024 Zeichen pro Pfad, oft maximal 32 oder 256
Zeichen pro dirname. Daran wird es also nicht liegen.

bye
--
Stefan Matthias Aust
www.3plus4software.de // Inter Deum Et Diabolum Semper Musica Est

Calin Rus

unread,
Jul 16, 2002, 5:13:56 AM7/16/02
to
Hallo Sandra

Sandra Hagmann wrote:

> Beim Aufruf: http:/7127.0.0.1:8080/pizza/jspTutorial kommt die Fehlermeldung,

^


> dass er das Verzeichnis jspTutorial nicht findet!

Vielleicht hast du dich auch nur vertippt. Wie wär's mit
http:/127.0.0.1:8080/pizza/jspTutorial
oder
http:/localhost:8080/pizza/jspTutorial
(wenn dein Rechner eine feste IP hat)

--
Die E-Mail-Adresse ist gültig!

Sandra Hagmann

unread,
Jul 16, 2002, 5:35:52 AM7/16/02
to
>Vielleicht hast du dich auch nur vertippt. Wie wär's mit
>http:/127.0.0.1:8080/pizza/jspTutorial
>oder
>http:/localhost:8080/pizza/jspTutorial
>(wenn dein Rechner eine feste IP hat)

Ich habe mich nur hier in der Mail vertippt! Im Browser habe ich es korrekt
angegeben!

Sandra Hagmann

unread,
Jul 16, 2002, 5:45:56 AM7/16/02
to
>Ich rate mal, dass du vielleicht an
>
> I:/..../jspTutorial-app/WEB-INF/
>
>keine web.xml-Datei stehen hast oder wenigstens keine, die mit dem tag <web-app>
beginnt...


---> doch, die habe ich!


web.xml
<web-app>
<display-name>iX Pizza Online Serivce Part I</display-name>
<description>
The Pizza Online service show a simple jsp example
</description>
<session-config>
<session-timeout>30</session-timeout>
</session-config>
<mime-mapping>
<extension>
txt
</extension>
<mime-type>
text/plain
</mime-type>
</mime-mapping>
<mime-mapping>
<extension>
html
</extension>
<mime-type>
text/html
</mime-type>
</mime-mapping>
<welcome-file-list>
<welcome-file>
index.jsp
</welcome-file>
<welcome-file>
index.html
</welcome-file>
</welcome-file-list>
</web-app>

>> server.xml
>
>Daran liegt es nicht.


---> muß es aber, denn wenn ich den Pfad von


docBase="I:/hagmann/java/projekte/pizza1" auf
docBase="I:/hagmann/java/projekte/pizza1/xxx" ändere,


dann kommt die Fehlermeldung nicht mehr! Es ist mir ein Rätsel, denn xxx
existiert überhaupt nicht! Nehme ich statt xxx jedoch ein existierendes
Unterverzeichnis, dann kommt wieder der Fehler!

>Was sagen denn die Logs in CATALINA_HOME/logs? Dort sollte Tomcat dir
eigentlich melden, was sache ist.


Das sagt "localhost_log.2002-07-16.txt"


2002-07-16 11:41:49 WebappLoader[/pizza2]: Deploying class repositories to work
directory E:\tomcat\tomcat\work\localhost\pizza2
2002-07-16 11:41:49 WebappLoader[/pizza2]: Deploy JAR /WEB-INF/lib/idb.jar to
E:\Pizzaservice\Teil2\develop\sources\jspTutorial-app\WEB-INF\lib\idb.jar
2002-07-16 11:41:49 WebappLoader[/pizza2]: Deploy JAR /WEB-INF/lib/idbf.jar to
E:\Pizzaservice\Teil2\develop\sources\jspTutorial-app\WEB-INF\lib\idbf.jar
2002-07-16 11:41:49 WebappLoader[/pizza2]: Deploy JAR /WEB-INF/lib/jspTutorial.
jar to E:\Pizzaservice\Teil2\develop\sources\jspTutorial-app\WEB-
INF\lib\jspTutorial.jar
2002-07-16 11:41:49 WebappLoader[/pizza2]: Reloading checks are enabled for this
Context
2002-07-16 11:41:49 StandardManager[/pizza2]: Seeding random number generator
class java.security.SecureRandom
2002-07-16 11:41:49 StandardManager[/pizza2]: Seeding of random number generator
has been completed
2002-07-16 11:41:49 ContextConfig[/pizza2] Parse error in application web.xml


org.xml.sax.SAXParseException: Element type "web-app" must be declared.

at org.apache.xerces.framework.XMLParser.reportError(XMLParser.java:1213)
at org.apache.xerces.validators.common.XMLValidator.
reportRecoverableXMLError(XMLValidator.java:1807)
at org.apache.xerces.validators.common.XMLValidator.
validateElementAndAttributes(XMLValidator.java:3633)
at org.apache.xerces.validators.common.XMLValidator.
callStartElement(XMLValidator.java:1229)
at org.apache.xerces.framework.XMLDocumentScanner$ContentDispatcher.
dispatch(XMLDocumentScanner.java:938)
at org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentScanner.
java:381)
at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:1098)
at org.xml.sax.helpers.XMLReaderAdapter.parse(XMLReaderAdapter.java:223)
at javax.xml.parsers.SAXParser.parse(SAXParser.java:362)
at javax.xml.parsers.SAXParser.parse(SAXParser.java:137)
at org.apache.catalina.util.xml.XmlMapper.readXml(XmlMapper.java:275)
at org.apache.catalina.startup.ContextConfig.applicationConfig(ContextConfig.
java:256)
at org.apache.catalina.startup.ContextConfig.start(ContextConfig.java:824)
at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.
java:224)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.
java:155)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1131)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:3345)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1123)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:614)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1123)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:343)
at org.apache.catalina.core.StandardService.start(StandardService.java:388)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:506)
at org.apache.catalina.startup.Catalina.start(Catalina.java:781)
at org.apache.catalina.startup.Catalina.execute(Catalina.java:681)
at org.apache.catalina.startup.Catalina.process(Catalina.java:179)
at java.lang.reflect.Method.invoke(Native Method)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:243)


2002-07-16 11:41:49 ContextConfig[/pizza2]: Occurred at line 1 column 10
2002-07-16 11:41:49 ContextConfig[/pizza2]: Marking this application unavailable
due to previous error(s)
2002-07-16 11:41:49 StandardContext[/pizza2]: Error initializing naming context
for context /pizza2
2002-07-16 11:41:49 StandardContext[/pizza2]: Context startup failed due to
previous errors
2002-07-16 11:41:49 StandardContext[/pizza2]: Error initializing naming context
for context /pizza2
2002-07-16 11:41:49 WebappLoader[/testservlet1]: Deploying class repositories to
work directory E:\tomcat\tomcat\work\localhost\testservlet1
2002-07-16 11:41:49 WebappLoader[/testservlet1]: Reloading checks are enabled for
this Context
2002-07-16 11:41:49 StandardManager[/testservlet1]: Seeding random number
generator class java.security.SecureRandom
2002-07-16 11:41:49 StandardManager[/testservlet1]: Seeding of random number
generator has been completed
2002-07-16 11:41:49 StandardWrapper[/testservlet1:default]: Loading container
servlet default
2002-07-16 11:41:49 default: init
2002-07-16 11:41:49 StandardWrapper[/testservlet1:invoker]: Loading container
servlet invoker
2002-07-16 11:41:49 invoker: init
2002-07-16 11:41:49 jsp: init


Oh, je, ist das unübersichtlich! Ich hoffe, dieser Error-log sagt Dir etwas!


Danke, Sandra

Stefan Matthias Aust

unread,
Jul 16, 2002, 6:36:18 AM7/16/02
to
Sandra Hagmann wrote:
> ---> doch, die habe ich!
>
> web.xml
> [...]

Das Format dieser Datei ist falsch (auch wenn es tatsächlich so im
Quelltext der iX 7/2000 veröffentlicht wurde - gerade im iX-Archiv
nachgeguckt). Die Datei muss mit

<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">

beginnen.

Ohne diese Informationen weiss nämlich der Validator für die XML-Datei
nicht, wogegen er validieren soll:

> org.xml.sax.SAXParseException: Element type "web-app" must be declared.
> at org.apache.xerces.framework.XMLParser.reportError(XMLParser.java:1213)
> at org.apache.xerces.validators.common.XMLValidator.
> reportRecoverableXMLError(XMLValidator.java:1807)
> at org.apache.xerces.validators.common.XMLValidator.
> validateElementAndAttributes(XMLValidator.java:3633)
> at org.apache.xerces.validators.common.XMLValidator.
> callStartElement(XMLValidator.java:1229)

und Tomcat versteht die Datei dann nicht. Mag sein, dass das vor einem
Jahr in der damals gültigen Tomcat-Version 3.x noch nicht erforderlich war.

Tino Strauss

unread,
Jul 16, 2002, 7:29:35 AM7/16/02
to
Sandra Hagmann schrieb:

>>Ich rate mal, dass du vielleicht an
>>
>> I:/..../jspTutorial-app/WEB-INF/
>>
>>keine web.xml-Datei stehen hast oder wenigstens keine, die mit dem tag
>><web-app>
> beginnt...
>
>
> ---> doch, die habe ich!
>
[..]

Ergaenzend zu Stefans Posting: Du findest in
$TOMCATHOME/webapps/tomcat-docs/appdev/web.xml.txt ein Beispiel zur Vorlage.

Tino

Sandra Hagmann

unread,
Jul 16, 2002, 8:06:22 AM7/16/02
to
Danke für den Tipp! Daran kann es aber nicht liegen! Denn es lief ja schon mal
und ich habe an der web.xml nichts geändert! Es muß also an der server.xml
liegen! Oder vielleicht an einem PATH...?


>
>Ergaenzend zu Stefans Posting: Du findest in
>$TOMCATHOME/webapps/tomcat-docs/appdev/web.xml.txt ein Beispiel zur Vorlage.
>
> Tino

--

Stefan Matthias Aust

unread,
Jul 16, 2002, 8:27:33 AM7/16/02
to
Sandra Hagmann wrote:
> Danke für den Tipp! Daran kann es aber nicht liegen! Denn es lief ja schon mal
> und ich habe an der web.xml nichts geändert! Es muß also an der server.xml
> liegen! Oder vielleicht an einem PATH...?

Und es hat auch nicht jemand anderes eine neue Tomcat-Version oder
Java-Version installiert? Die Fehlermeldung im log war IMHO eindeutig.

Tino Strauss

unread,
Jul 16, 2002, 8:36:10 AM7/16/02
to
Sandra Hagmann schrieb nieder:

> Danke für den Tipp! Daran kann es aber nicht liegen! Denn es lief ja schon
> mal und ich habe an der web.xml nichts geändert! Es muß also an der
> server.xml liegen! Oder vielleicht an einem PATH...?

Sofern deine web.xml korrekt ist (also der DOCTYPE muss wirklich drin sein),
entspricht die Verzeichnisstruktur unterhalb deiner docBase der Definition
fuer Wep Applications?

Ich kann mich auch erinnern mal unter Windows ein Problem mit der
Gross-/Kleinschreibung von Verzeichnisnamen erlebt zu haben. Zumindest
frueher (ich nehme mal an das ist noch so) war der Tomcat case-sensitiv,
mit anderen Worten: Hast du sichergestellt, dass WEB-INF auch WEB-INF
heisst und nicht Web-inf?

Tino

0 new messages