Tomcat: failed to parse runtime descripteur de
J'ai essayé de déployer un JAX-WS webservice sous CentOS 6.3 -> Apache -> Tomcat 5.5
J'ai lu des recherches avec google pendant des heures, a demandé à tous mes amis et j'ai aussi essayé de trouver une solution sur stackoverflow, mais en vain. Quelqu'un peut-il m'aider? Je vous remercie à l'avance.
Je reçois le message d'erreur suivant:
Nov 26, 2012 12:36:52 PM com.soleil.xml.ws.de transport.http.servlet.WSServletContextListener parseAdaptersAndCreateDelegate SÉVÈRE: WSSERVLET11: failed to parse runtime descripteur: java.lang.IllegalAccessError: classe com.soleil.xml.ws.l'assembleur.MetroClientTubelineAssemblyContextimpl ne peut pas accéder à sa super-classe com.soleil.xml.ws.l'assembleur.DefaultClientTubelineAssemblyContext java.lang.IllegalAccessError: classe com.soleil.xml.ws.l'assembleur.MetroClientTubelineAssemblyContextimpl ne peut pas accéder à sa super-classe com.soleil.xml.ws.l'assembleur.DefaultClientTubelineAssemblyContext à java.lang.Chargeur de classe.defineClass1(Native method) à java.lang.Chargeur de classe.defineClassCond(ClassLoader.java:631) à java.lang.Chargeur de classe.defineClass(ClassLoader.java:615) à java.de sécurité.SecureClassLoader.defineClass(SecureClassLoader.java:141) à java.net.URLClassLoader.defineClass(URLClassLoader.java:283) à java.net.URLClassLoader.l'accès$000(URLClassLoader.java:58) à java.net.URLClassLoader$1.exécuter(URLClassLoader.java:197) à java.de sécurité.AccessController.doPrivileged(Native method) à java.net.URLClassLoader.findClass(URLClassLoader.java:190) à java.lang.Chargeur de classe.loadClass(ClassLoader.java:306) à java.lang.Chargeur de classe.loadClass(ClassLoader.java:247) au com.sun.xml.ws.assembler.MetroTubelineAssemblerFactoryImpl.doCreate(MetroTubelineAssemblerFactoryImpl.java:63) au com.soleil.xml.ws.l'api.la pipe.TubelineAssemblerFactory.créer(TubelineAssemblerFactory.java:109) au com.soleil.xml.ws.serveur.WSEndpointImpl.(WSEndpointImpl.java:170) au com.soleil.xml.ws.serveur.EndpointFactory.créer(EndpointFactory.java:306) au com.soleil.xml.ws.serveur.EndpointFactory.créer(EndpointFactory.java:301) au com.soleil.xml.ws.serveur.EndpointFactory.createEndpoint(EndpointFactory.java:147) au com.soleil.xml.ws.l'api.serveur.WSEndpoint.créer(WSEndpoint.java:574) au com.soleil.xml.ws.l'api.serveur.WSEndpoint.créer(WSEndpoint.java:557) au com.sun.xml.ws.transport.http.DeploymentDescriptorParser.parseAdapters(DeploymentDescriptorParser.java:260) au com.soleil.xml.ws.de transport.http.DeploymentDescriptorParser.parse(DeploymentDescriptorParser.java:152) au com.sun.xml.ws.transport.http.servlet.WSServletContextListener.parseAdaptersAndCreateDelegate(WSServletContextListener.java:131) au com.sun.xml.ws.transport.http.servlet.WSServletContextListener.contextInitialized(WSServletContextListener.java:152) au org.apache.catalina.de base.StandardContext.listenerStart(StandardContext.java:3795) au org.apache.catalina.de base.StandardContext.start(StandardContext.java:4252) au org.apache.catalina.de base.ContainerBase.addChildInternal(ContainerBase.java:760) au org.apache.catalina.de base.ContainerBase.addChild(ContainerBase.java:740) au org.apache.catalina.de base.StandardHost.addChild(StandardHost.java:544) au org.apache.catalina.de démarrage.HostConfig.deployWAR(HostConfig.java:884) au org.apache.catalina.de démarrage.HostConfig.deployWARs(HostConfig.java:737) au org.apache.catalina.de démarrage.HostConfig.deployApps(HostConfig.java:498) au org.apache.catalina.de démarrage.HostConfig.vérifier(HostConfig.java:1271) au org.apache.catalina.de démarrage.HostConfig.lifecycleEvent(HostConfig.java:301) au org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120) au org.apache.catalina.de base.ContainerBase.backgroundProcess(ContainerBase.java:1306) au org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1570) au org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1579) au org.apache.catalina.de base.ContainerBase$ContainerBackgroundProcessor.exécuter(ContainerBase.java:1559) à java.lang.Fil de discussion.exécution(Thread.java:662) Nov 26, 2012 12:36:52 PM org.apache.catalina.de base.StandardContext listenerStart GRAVE: l'Exception de l'envoi de contexte initialisé événement à l'auditeur instance de la classe com.soleil.xml.ws.de transport.http.servlet.WSServletContextListener com.soleil.xml.ws.de transport.http.servlet.WSServletException: WSSERVLET11: failed to parse runtime descripteur: java.lang.IllegalAccessError: classe com.soleil.xml.ws.l'assembleur.MetroClientTubelineAssemblyContextimpl ne peut pas accéder à sa super-classe com.soleil.xml.ws.l'assembleur.DefaultClientTubelineAssemblyContext au com.sun.xml.ws.transport.http.servlet.WSServletContextListener.parseAdaptersAndCreateDelegate(WSServletContextListener.java:141) au com.sun.xml.ws.transport.http.servlet.WSServletContextListener.contextInitialized(WSServletContextListener.java:152) au org.apache.catalina.de base.StandardContext.listenerStart(StandardContext.java:3795) au org.apache.catalina.de base.StandardContext.start(StandardContext.java:4252) au org.apache.catalina.de base.ContainerBase.addChildInternal(ContainerBase.java:760) au org.apache.catalina.de base.ContainerBase.addChild(ContainerBase.java:740) au org.apache.catalina.de base.StandardHost.addChild(StandardHost.java:544) au org.apache.catalina.de démarrage.HostConfig.deployWAR(HostConfig.java:884) au org.apache.catalina.de démarrage.HostConfig.deployWARs(HostConfig.java:737) au org.apache.catalina.de démarrage.HostConfig.deployApps(HostConfig.java:498) au org.apache.catalina.de démarrage.HostConfig.vérifier(HostConfig.java:1271) au org.apache.catalina.de démarrage.HostConfig.lifecycleEvent(HostConfig.java:301) au org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120) au org.apache.catalina.de base.ContainerBase.backgroundProcess(ContainerBase.java:1306) au org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1570) au org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1579) au org.apache.catalina.de base.ContainerBase$ContainerBackgroundProcessor.exécuter(ContainerBase.java:1559) à java.lang.Fil de discussion.exécution(Thread.java:662) Causés par: java.lang.IllegalAccessError: classe com.soleil.xml.ws.l'assembleur.MetroClientTubelineAssemblyContextimpl ne peut pas accéder à sa super-classe com.soleil.xml.ws.l'assembleur.DefaultClientTubelineAssemblyContext à java.lang.Chargeur de classe.defineClass1(Native method) à java.lang.Chargeur de classe.defineClassCond(ClassLoader.java:631) à java.lang.Chargeur de classe.defineClass(ClassLoader.java:615) à java.de sécurité.SecureClassLoader.defineClass(SecureClassLoader.java:141) à java.net.URLClassLoader.defineClass(URLClassLoader.java:283) à java.net.URLClassLoader.l'accès$000(URLClassLoader.java:58) à java.net.URLClassLoader$1.exécuter(URLClassLoader.java:197) à java.de sécurité.AccessController.doPrivileged(Native method) à java.net.URLClassLoader.findClass(URLClassLoader.java:190) à java.lang.Chargeur de classe.loadClass(ClassLoader.java:306) à java.lang.Chargeur de classe.loadClass(ClassLoader.java:247) au com.sun.xml.ws.assembler.MetroTubelineAssemblerFactoryImpl.doCreate(MetroTubelineAssemblerFactoryImpl.java:63) au com.soleil.xml.ws.l'api.la pipe.TubelineAssemblerFactory.créer(TubelineAssemblerFactory.java:109) au com.soleil.xml.ws.serveur.WSEndpointImpl.(WSEndpointImpl.java:170) au com.soleil.xml.ws.serveur.EndpointFactory.créer(EndpointFactory.java:306) au com.soleil.xml.ws.serveur.EndpointFactory.créer(EndpointFactory.java:301) au com.soleil.xml.ws.serveur.EndpointFactory.createEndpoint(EndpointFactory.java:147) au com.soleil.xml.ws.l'api.serveur.WSEndpoint.créer(WSEndpoint.java:574) au com.soleil.xml.ws.l'api.serveur.WSEndpoint.créer(WSEndpoint.java:557) au com.sun.xml.ws.transport.http.DeploymentDescriptorParser.parseAdapters(DeploymentDescriptorParser.java:260) au com.soleil.xml.ws.de transport.http.DeploymentDescriptorParser.parse(DeploymentDescriptorParser.java:152) au com.sun.xml.ws.transport.http.servlet.WSServletContextListener.parseAdaptersAndCreateDelegate(WSServletContextListener.java:131) 17 de plus ... Nov 26, 2012 12:36:52 PM org.apache.catalina.de base.StandardContext commencer GRAVE erreur: Erreur de listenerStart Nov 26, 2012 12:36:52 PM org.apache.catalina.de base.StandardContext commencer SÉVÈRE: Contexte [/lws] démarrage a échoué en raison d'erreurs précédentes Nov 26, 2012 12:36:52 PM com.soleil.xml.ws.de transport.http.servlet.WSServletContextListener contextDestroyed INFO: WSSERVLET13: JAX-WS contexte auditeur détruit
Vous devez vous connecter pour publier un commentaire.
Prendre un coup d'oeil à la documentation:
http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/IllegalAccessError.html
Levée si une application tente d'accéder ou de modifier un champ, ou à l'appel d'une méthode qu'il n'a pas accès.
Normalement, cette erreur est capturé par le compilateur; cette erreur peut se produire uniquement au moment de l'exécution si la définition d'une classe a incompatibilité changé.
En d'autres termes, MetroClientTubelineAssemblyContextimpl a été compilé pour être sous-classe d'une version de la super-classe DefaultClientTubelineAssemblyContext, mais il semble que ce qui a changé dans l'exécution.
Qu'est-ce que probablement vous arrive il y a deux pots dans le classpath avec l'une de ces deux classes DefaultClientTubelineAssemblyContext ou MetroClientTubelineAssemblyContextimpl. Vous devriez regarder ce que les pots ont ces classes et d'essayer de laisser un seul chargé.
Chercher les pots à l'intérieur de WEB-INF/lib de votre application web archive et les pots à l'intérieur de $TOMCAT_HOME/lib dossier pour vérifier si vous trouvez des doublons.