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
Les jar son bien présents dans le /lib du framework
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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)
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
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....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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"]
Merci d'avance!
Partager