# Versionsinkompatibilitäten - Tomcat, Spring, Java 1.5, Struts



## Thomas Reihl (25. September 2007)

*Versionsinkompatibilitäten - Tomcat, Spring, Java, Struts*

Hallo Community,

ich stehe gerade vor einem mittelgroßem Problem. Wir haben vor kurzem unseren Tomcat 5.0.28 auf die VM 1.6.0-b105 umgestellt (von 1.4).

Unsere alten Anwendungen (in 1.4 compiliert) mit Struts1.3 laufen da auch wunderbar.

Nachdem wir nun die ersten Programme umgeschrieben, mit Java 1.5 compiliert, Struts und Spring integriert haben funktioniert gar nichts mehr.

Ich habe sämtliche Versionen durchprobiert, aber ich bekomme auf dem "neuem" Tomcat einfach nichts zum laufen.
Wenn ich die Anwendung allerdings unter 1.4 compiliere und auf dem "alten" Tomcat starte, dann funktioniert das wunderbar.

Beim entpacken des WAR-Files (Spring 2.0 [ohne die unter 1.5 compilierten jars], Struts 1.3.6, Klassen in 1.5 Compiliert) schreit der Tomcat folgendes in die Log-Datei:

```
08,849  INFO ActionServlet:1686 - Loading chain catalog from jar:file:/java01/tomcat5028/webapps/MusterSpring/WEB-INF/lib/struts-core-1.3.8.jar!/org/apache/struts/chain/chain-config.xml
11:37:09,188  INFO ContextLoaderPlugIn:218 - ContextLoaderPlugIn for Struts ActionServlet 'action, module '': initialization started
11:37:09,263  INFO CollectionFactory:76 - JDK 1.4+ collections available
11:37:09,264  INFO CollectionFactory:80 - Commons Collections 3.x available
11:37:09,323  INFO XmlBeanDefinitionReader:347 - Loading XML bean definitions from ServletContext resource [/WEB-INF/springBeans-Web.xml]
11:37:09,466  INFO XmlWebApplicationContext:100 - Bean factory for application context [WebApplicationContext for namespace 'action-servlet']: org.springframework.beans.factory.support.DefaultListableBeanFactory defining beans [Vorgangseinstieg,Ende]; root of BeanFactory hierarchy
11:37:09,485  INFO XmlWebApplicationContext:322 - 2 beans defined in application context [WebApplicationContext for namespace 'action-servlet']
11:37:09,498  INFO XmlWebApplicationContext:473 - Unable to locate MessageSource with name 'messageSource': using default [org.springframework.context.support.DelegatingMessageSource@c524dd]
11:37:09,503  INFO XmlWebApplicationContext:495 - Unable to locate ApplicationEventMulticaster with name 'applicationEventMulticaster': using default [org.springframework.context.event.SimpleApplicationEventMulticaster@f757b9]
11:37:09,510  INFO UiApplicationContextUtils:83 - Unable to locate ThemeSource with name 'themeSource': using default [org.springframework.ui.context.support.ResourceBundleThemeSource@a0560e]
11:37:09,512  INFO DefaultListableBeanFactory:261 - Pre-instantiating singletons in factory [org.springframework.beans.factory.support.DefaultListableBeanFactory defining beans [Vorgangseinstieg,Ende]; root of BeanFactory hierarchy]
11:37:09,584  INFO ContextLoaderPlugIn:298 - Using context class 'org.springframework.web.context.support.XmlWebApplicationContext' for servlet 'action'
11:37:09,585  INFO ContextLoaderPlugIn:235 - ContextLoaderPlugIn for Struts ActionServlet 'action', module '': initialization completed in 397 ms
```

Sieht eigentlich ganz gut aus, aber beim Aufruf der Anwendung, wird der Pfad 'Vorgangseinsteig.do' nicht gefunden.

Beim entpacken des gleichen WAR-Files - mit den unter 1.5 compilierten Spring-jars -  schreit der Tomcat folgendes in die Log-Datei:

```
INFO XmlWebApplicationContext:599 - Closing application context [WebApplicationContext for namespace 'action-servlet']
11:23:33,042  INFO DefaultListableBeanFactory:272 - Destroying singletons in {org.springframework.beans.factory.support.DefaultListableBeanFactory defining beans [Vorgangseinstieg,Ende]; root of BeanFactory hierarchy}
25.09.2007 11:23:41 org.apache.catalina.core.StandardHostDeployer install
INFO: Installing web application at context path /MusterSpring from URL file:/usr/local/java01/tomcat5028/webapps/MusterSpring
25.09.2007 11:23:41 org.apache.catalina.util.ExtensionValidator validateManifestResources
INFO: ExtensionValidator[/MusterSpring][commons-attributes-compiler.jar]: Required extension "ant" not found.
25.09.2007 11:23:41 org.apache.catalina.util.ExtensionValidator validateManifestResources
INFO: ExtensionValidator[/MusterSpring][commons-attributes-compiler.jar]: Required extension "qdox" not found.
25.09.2007 11:23:41 org.apache.catalina.util.ExtensionValidator validateManifestResources
INFO: ExtensionValidator[/MusterSpring][commons-attributes-compiler.jar]: Required extension "commons-attributes-api" not found.
25.09.2007 11:23:41 org.apache.catalina.util.ExtensionValidator validateManifestResources
INFO: ExtensionValidator[/MusterSpring][commons-attributes-compiler.jar]: Required extension "javadoc" not found.
25.09.2007 11:23:41 org.apache.catalina.util.ExtensionValidator validateManifestResources
INFO: ExtensionValidator[/MusterSpring]: Failure to find 4 required extension(s).
25.09.2007 11:23:41 org.apache.catalina.core.StandardContext start
SCHWERWIEGEND: Error getConfigured
25.09.2007 11:23:41 org.apache.catalina.core.StandardContext start
SCHWERWIEGEND: Context startup failed due to previous errors
25.09.2007 11:23:41 org.apache.catalina.core.StandardContext start
SCHWERWIEGEND: Exception during cleanup after start failed
LifecycleException:  Container StandardContext[/MusterSpring] has not been started
	at org.apache.catalina.core.StandardContext.stop(StandardContext.java:4466)
	at org.apache.catalina.core.StandardContext.start(StandardContext.java:4371)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:823)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:807)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:595)
	at org.apache.catalina.core.StandardHostDeployer.install(StandardHostDeployer.java:277)
	at org.apache.catalina.core.StandardHost.install(StandardHost.java:832)
	at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:625)
	at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:431)
	at org.apache.catalina.startup.HostConfig.checkContextLastModified(HostConfig.java:849)
	at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1085)
	at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:327)
	at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
	at org.apache.catalina.core.StandardHost.backgroundProcess(StandardHost.java:800)
	at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1619)
	at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1628)
	at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1608)
	at java.lang.Thread.run(Thread.java:619)
```

Kann mir da vielleicht einer weiter helfen? Ich danke bereits im Voraus!

MfG
Thomas Reihl


----------



## Thomas Reihl (26. September 2007)

Huhu,

nachdem ich mir meinen Post eben nochmal durchgelesen habe, kann ich auch verstehen, warum es bisher keine Antworten gab. Ich versuche es deshalb mal verständlicher auszudrücken.

Also, ich habe ein WAR-File zusammen geschnürt:

compiliert mit Java 1.4
Struts 1.3.8 integriert
Spring 2.0.1 integriert

Auf einem Tomcat 5.0.28 einer 1.4.2_05-b04 Java-Version funktioniert der Spaß problemlos. Wenn ich aber das WAR-File auf einen Tomcat 5.0.28 einer 1.6.0-b105 Java-Version kopiere, funktioniert gar nichts.

Das Entpacken des WAR-Files gibt mir in die Lod-Datei keine Auffälligkeiten aus:

```
17:40:02,133  INFO ContextLoaderPlugIn:218 - ContextLoaderPlugIn for Struts ActionServlet 'action, module '': initialization started
17:40:02,221  INFO CollectionFactory:76 - JDK 1.4+ collections available
17:40:02,222  INFO CollectionFactory:80 - Commons Collections 3.x available
17:40:02,287  INFO XmlBeanDefinitionReader:347 - Loading XML bean definitions from ServletContext resource [/WEB-INF/springBeans-Web.xml]
17:40:02,387  INFO XmlWebApplicationContext:100 - Bean factory for application context [WebApplicationContext for namespace 'action-servlet']: org.springframework.beans.factory.support.DefaultListableBeanFactory defining beans [Vorgangseinstieg,Ende]; root of BeanFactory hierarchy
17:40:02,403  INFO XmlWebApplicationContext:322 - 2 beans defined in application context [WebApplicationContext for namespace 'action-servlet']
17:40:02,417  INFO XmlWebApplicationContext:473 - Unable to locate MessageSource with name 'messageSource': using default [org.springframework.context.support.DelegatingMessageSource@acd5d4]
17:40:02,422  INFO XmlWebApplicationContext:495 - Unable to locate ApplicationEventMulticaster with name 'applicationEventMulticaster': using default [org.springframework.context.event.SimpleApplicationEventMulticaster@10a6001]
17:40:02,428  INFO UiApplicationContextUtils:83 - Unable to locate ThemeSource with name 'themeSource': using default [org.springframework.ui.context.support.ResourceBundleThemeSource@24ed78]
17:40:02,430  INFO DefaultListableBeanFactory:261 - Pre-instantiating singletons in factory [org.springframework.beans.factory.support.DefaultListableBeanFactory defining beans [Vorgangseinstieg,Ende]; root of BeanFactory hierarchy]
17:40:02,504  INFO ContextLoaderPlugIn:298 - Using context class 'org.springframework.web.context.support.XmlWebApplicationContext' for servlet 'action'
17:40:02,505  INFO ContextLoaderPlugIn:235 - ContextLoaderPlugIn for Struts ActionServlet 'action', module '': initialization completed in 373 ms
```

Im Browser wird mir beim Funktionsaufruf, aber immer folgende Fehlermeldung ausgegeben:
_The requested URL /MusterSpring/Vorgangseinstieg.do was not found on this server._

Ich habe keinen blassen Schimmer, woran das liegt.


----------



## Thomas Reihl (26. September 2007)

Sorry, dass ich jetzt den dritten Post in Folge schreibe, aber ich weiß jetzt woran es lag. Unsere achso fähige Systemgruppe war nicht in der Lage im Tomcat den Projektpfad richtig zu konfigurieren.

Jetzt geht jedenfalls alles. Ergo: Es lag nicht wie erst angenommen an irgendwelchen Versionsinkompatibilitäten.


----------

