Précédent   Forum du club des développeurs et IT Pro > Java > Serveurs, conteneurs, et Java EE > Tomcat
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 28/11/2012, 16h54   #1
Susp3nded
Nouveau Membre du Club
 
Femme
Ingénieur développement logiciels
Inscription : mai 2011
Messages : 22
Détails du profil
Informations personnelles :
Sexe : Femme

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : mai 2011
Messages : 22
Points : 32
Points : 32
Par défaut Tomcat Embedded NoClassFound

Bonjour

Je suis actuellement entrain de développer une suite d'outils en ligne de commande.
J'utilise pour ce faire la frameworld Clamshell (http://code.google.com/p/clamshell-cli/)

Je souhaite integrer un tomcat en mode embeded.

J'ai testé mon intègration en faisant un main et les jar dans le buildpath, tout est OK
Mais quand je lance l'implémentation depuis mon appli j'ai l'horreur suivante

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Servlet /abc/ threw load() exception
java.lang.ClassNotFoundException: org.apache.jasper.servlet.JspServlet
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1676)
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1521)
        at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:415)
        at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:397)
        at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:118)
        at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1062)
        at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1010)
        at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4915)
        at org.apache.catalina.core.StandardContext$3.call(StandardContext.java:5242)
        at org.apache.catalina.core.StandardContext$3.call(StandardContext.java:5237)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
        at java.util.concurrent.FutureTask.run(FutureTask.java:138)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:662)
Les jar son bien présents dans le /lib du framework
J'ai fait une recherche, je n'ai pas de conflit sur JspServlet, elle n'est présente que dans un seul jar du classpath

Le plus surprenant est la chose suivante :
Quand je lance mon appli en mode -verbose:class, il me dit qu'elle est chargé et juste appres il me dit qu'elle n'est pas trouvée
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
[Loaded org.apache.tomcat.PeriodicEventListener from file:/D:/development/clamit/lib/tomcat-embed-core.jar]
[Loaded org.apache.jasper.servlet.JspServlet from file:/D:/development/clamit/lib/tomcat-embed-jasper.jar]
[Loaded org.apache.tomcat.util.ExceptionUtils from file:/D:/development/clamit/lib/tomcat-embed-core.jar]
28 nov. 2012 16:40:31 org.apache.catalina.core.ApplicationContext log
INFO: Marking servlet jsp as unavailable
28 nov. 2012 16:40:31 org.apache.catalina.core.StandardContext loadOnStartup
GRAVE: Servlet / threw load() exception
java.lang.ClassNotFoundException: org.apache.jasper.servlet.JspServlet
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714)
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
        at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:532)
        at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:514)
        at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:133)
        at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1136)
        at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1080)
        at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5027)
        at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5314)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
        at java.util.concurrent.FutureTask.run(FutureTask.java:138)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:662)
[Loaded org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor from file:/D:/development/clamit/lib/tomcat-embed-core.jar]
28 nov. 2012 16:40:31 org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Je pense la framework que j'utilise pose des problème au nivaeux du classLoading et que le classLoading de tomcat est assez exotique, mais la je sèche un peu et les resources sont trrès faibles....

Merci d'avance!
Susp3nded est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2013, 22h55   #2
lekonquerant
Membre du Club
 
Inscription : avril 2009
Messages : 115
Détails du profil
Informations personnelles :
Localisation : Cameroun

Informations forums :
Inscription : avril 2009
Messages : 115
Points : 57
Points : 57
Bonsoir,

est ce que le chemin d'accès à vos jars est définie dans le fichier catalina.properties de votre tomcat?
lekonquerant est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 13h36.


 
 
 
 
Partenaires

Hébergement Web