Utworzono głównie pusty dynamiczny projekt WWW w środowisku Eclipse.Opis pliku context.xml w tomcat 6
Ma
- żadnych serwlety
- nie jsp plików
web.xml jest
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>testprojekt</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
</web-app>
i dodałem context.xml
do folderu META-INF
<?xml version="1.0" encoding="UTF-8"?>
<Context>
<Parameter name="companyName" value="My Company, Incorporated" override="false"/>
</Context>
Wyeksportowałem ten projekt jako plik WAR. O następującej strukturze:
[email protected]:$ tree
.
|-- META-INF
| |-- MANIFEST.MF
| `-- context.xml
`-- WEB-INF
|-- classes
|-- lib
`-- web.xml
4 directories, 3 files
Kiedy wdrożyć projekt do lokalnego tomcat (Apache Tomcat/6.0.20) wszystko działa zgodnie z oczekiwaniami. Oznacza to, że plik context.xml jest kopiowany do/conf/Catalina/localhost i zmieniony na testprojekt.xml.
Kiedy edytować testprojekt.xml do:
<?xml version="1.0" encoding="UTF-8"?>
<Context>
<Parameter name="companyName" value="My BLAH Company, Incorporated" override="false"/>
</Context>
widzę następujący wynik w catalina.out:
02.11.2009 13:21:35 org.apache.catalina.startup.HostConfig checkResources
INFO: Undeploying context [/testprojekt]
02.11.2009 13:21:35 org.apache.catalina.core.StandardContext resourcesStart
SCHWERWIEGEND: Error starting static Resources
java.lang.IllegalArgumentException: Document base /opt/tomcat6/webapps/testprojekt does not exist or is not a readable directory
at org.apache.naming.resources.FileDirContext.setDocBase(FileDirContext.java:142)
at org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java:4048)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4217)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:526)
at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:630)
at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:556)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:491)
at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1274)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:296)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1337)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1601)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1610)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1590)
at java.lang.Thread.run(Thread.java:619)
02.11.2009 13:21:35 org.apache.catalina.core.StandardContext start
SCHWERWIEGEND: Error in resourceStart()
02.11.2009 13:21:35 org.apache.catalina.core.StandardContext start
SCHWERWIEGEND: Error getConfigured
02.11.2009 13:21:35 org.apache.catalina.core.StandardContext start
SCHWERWIEGEND: Context [/testprojekt] startup failed due to previous errors
02.11.2009 13:21:35 org.apache.catalina.core.StandardContext stop
INFO: Container org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/testprojekt] has not been started
dlaczego tak jest? Czy to oczekiwany wynik? Jaki jest właściwy sposób zmiany parametrów w context.xml
?
Z góry dziękuję. Pozdrawiam,
Nie rozumiem pytania. Myślę, że brakuje ci tekstu wyjaśniającego po części "Kiedy edytuję stronę testprojekt.xml to:". Przynajmniej mogę powiedzieć, że komunikat o wyjątku jest dość samo wyjaśniający. Weź to dosłownie. – BalusC
Unikaj próbek kodu, abyśmy mogli je zobaczyć. –
Proszę przyjrzeć się bliżej dwóm plikom testprojekt.xml. Dodałem ciąg BLAH do wartości drugiego. Spodziewałbym się, że po zmianie wartości moja aplikacja webowa będzie miała dostęp do tych nowych wartości. Ale nie przychodzę nawet do tej części, ponieważ po zapisaniu otrzymuję wyjątek. I naprawdę nie rozumiem wyjątku, albo co jest nie tak w moim podejściu. – Carsten