# Tomcat 7 Probleme bei vorhandener context.xml



## Jens P. (26. Jan 2011)

Guten Tag !

Ich versuche gerade eine Web Application auf den neuen Servlet 3 Standard zu bringen.

Dieses bewerkstellige ich anhand folgenden Eintrages in der web.xml:


```
<web-app
xmlns="http://java.sun.com/xml/ns/javaee"      
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"      
metadata-complete="true"      
version="3.0"      
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
```

Diese Einstellung funktioniert wunderbar, meine context.xml wird wie gehabt verarbeitet.
Die einstellung

```
metadata-complete="true"
```
bewirkt allerdings, dass die schönen Annotations, z.B. @WebSevlet nicht berücksichtigt werden.
Daher habe ich diese Einstellung auf 

```
metadata-complete="false"
```

gesetzt.

Nun geht leider gar nix mehr ...
Selbst wenn ich die context.xml leer lasse 

```
<Context>

</Context>
```
erhalte ich die Fehlermeldung:


```
SCHWERWIEGEND: Error deploying configuration descriptor wb_tomcat.xml
java.lang.IllegalAccessError: class javax.activation.SecuritySupport12 cannot access its superclass javax.activation.SecuritySupport
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
	at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2804)
	at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1144)
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1639)
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1517)
	at org.apache.catalina.startup.ContextConfig.checkHandlesTypes(ContextConfig.java:1952)
	at org.apache.catalina.startup.ContextConfig.processAnnotationsStream(ContextConfig.java:1915)
	at org.apache.catalina.startup.ContextConfig.processAnnotationsJar(ContextConfig.java:1802)
	at org.apache.catalina.startup.ContextConfig.processAnnotationsUrl(ContextConfig.java:1761)
	at org.apache.catalina.startup.ContextConfig.processAnnotations(ContextConfig.java:1747)
	at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1252)
	at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:881)
	at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:315)
	at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
	at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:89)
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4700)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:140)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:810)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:788)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:558)
	at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:629)
	at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:557)
	at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:503)
	at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1363)
	at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:290)
	at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
	at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:89)
	at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1228)
	at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1384)
	at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1394)
	at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1373)
	at java.lang.Thread.run(Thread.java:662)
```


Kann mir jemand weiterhelfen ?


Hier meine Konfiguration:

JDK 6
Eclipse 3.6 mit WTP
Tomcat 7.0.4

Serverkonfiguration in Eclipse:
Das Häckchen bei "Publish module contexts to seperate XML files" habe ich gesetzt ...


Vielleicht mag das ganze mal jemand nachstellen, evtl isses ja nen Tomcat Bug / WTP Bug ?!?

Vielen Dank schonmal !

Jens


----------



## Jens P. (26. Jan 2011)

ich nochmal 


so, ich habe nun den ganzen tag dran rumgefummelt und das Problem identifizieren können.
Das Webprojekt war mit jdk 1.4 angelegt worden und sollte wohl auch Mails versenden, daher befanden sich im Web-Inf/lib Verzeichnis die beiden Dateien activation.jar und mail.jar.

Ich habe die activation.jar gelöscht, da diese in jdk 1.6 ja integriert ist.

Nun funktioniert alles wieder !

Klingt auch ganz logisch...

Leider ist der Zusammenhang zwischen der metadata-complete Einstellung und der activation.jar nicht ganz nachvollziehbar.

Grüße Jens

P.S. Thema erledigt
Danke allen, die mitgelesen und mitüberlegt haben.


----------

