IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Servlets/JSP Java Discussion :

Load-on-startup et rep classes


Sujet :

Servlets/JSP Java

  1. #1
    Membre averti
    Inscrit en
    Février 2004
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 45
    Par défaut Load-on-startup et rep classes
    Bonjour,

    J'ai l'erreur suivante quand je lance mon appli (qui doit lancer une servlet avec un load-on-startup au démarrage):

    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
    com.toto.servlet.ServletInit
    java.lang.ClassNotFoundException: com.toto.servlet.ServletInit
    	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1360)
    	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1206)
    	at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1083)
    	at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:981)
    	at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4058)
    	at org.apache.catalina.core.StandardContext.start(StandardContext.java:4364)
    	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
    	at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
    	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
    	at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
    	at org.apache.catalina.core.StandardService.start(StandardService.java:516)
    	at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
    	at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    	at java.lang.reflect.Method.invoke(Method.java:597)
    	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
    	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
    ...
    INFO: Server startup in 6396 ms
    Après investigation, mon .class existant bel et bien, j'ai déplacé mon répertoire "classes" en dehors du WebContent et là ô miracle, ça fonctionne

    Arbo de mon projet:
    Test
    |--build (le nouveau répertoire où j'ai positionné mes classes)
    |--src
    |--WebContent
    |--WEB-INF (l'ancien répertoire contenant mes classes)
    ...

    Je ne comprend pas pourquoi ma webapp n'arrive pas à accéder au contenu du WebContent au moment de lancer la servlet
    Des suggestions ?

    J'utilise Eclipse 3.4.0 (Ganymède), un jdk 1.6.0_02, et tomcat6. Mon projet est un Dynamic Web Project.

  2. #2
    Membre émérite Avatar de zorm
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    584
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 584
    Par défaut
    Bonjour,

    Surement parce que lorsqu'on déploie une appli web à partir d'eclipse, celui ci se base sur le classpath que tu as défini pour ton projet.
    Je suppose que si tu vas dans les propriétés de ton projet dans la partie "java build path", onglet "source", tu verras tout ça.

    Sinon, les .class se mettent dans le dossier "\WEB-INF\classes" avec les répertoires qui vont bien pour le respect des packages.

  3. #3
    Membre averti
    Inscrit en
    Février 2004
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 45
    Par défaut
    Merci pour ta réponse zorm,

    Quand j'ai dit avoir déplacer mon répertoire "classes" c'était déjà à partir de l'onglet source. En gros j'indique à Eclipse de compiler dans un rep classes du répertoire build, pas de problème, le load-on-startup fonctionne, en revanche, compiler à l'intérieur du WEB-INF ça remonte le problème décrit dans mon premier post.

Discussions similaires

  1. Réponses: 1
    Dernier message: 26/08/2014, 12h03
  2. [VB6] load de shapes dans une classe ? (pour faire des contours)
    Par hpfx dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 07/06/2011, 14h59
  3. Lazy loading - Proxy CGLIB - comparaison de class
    Par El Saigneur dans le forum Hibernate
    Réponses: 2
    Dernier message: 23/08/2007, 14h07
  4. [servlet][tomcat] probleme avec load-on-startup
    Par felix79 dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 25/04/2005, 16h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo