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

Struts 1 Java Discussion :

[Struts 1.3.8] Erreur java.lang.ClassNotFoundException


Sujet :

Struts 1 Java

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2007
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 163
    Points : 90
    Points
    90
    Par défaut [Struts 1.3.8] Erreur java.lang.ClassNotFoundException
    Bonjour,

    Je suis en train de faire un simple TP, je ne trouve pas la source d'une exception... J'ai beau regarder sur le site d'Apache et sur le Net, rien n'y fait...

    Commençons par la présentation du projet :

    Une JSP contient un simple formulaire : /pages/index.jsp

    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
    29
    30
    31
    32
    33
    34
    35
    36
     
    <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
     
    <html:html>
    <head>
    	<title>Une application Struts</title>
    </head>
    <body>
    	<html:form action="/accueil" method="post">
    		<table>
    			<tr>
    				<td>
    					Ville
    				</td>
    				<td>
    					<html:text property="ville"/>
    				</td>
    			</tr>
    			<tr>
    				<td>
    					Code Postal
    				</td>
    				<td>
    					<html:text property="codePostal"/>
    				</td>
    			</tr>
    			<tr>
    				<td colspan="2">
    					<html:submit value="Enregistrer"/>
    				</td>
    			</tr>
    		</table>
    	</html:form>
    </body>
    </html:html>
    Cette JSP s'appuie sur un bean tout à fait classique : /WEB-INF/src/beans/Adresse.java

    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
     
    package beans;
     
    import org.apache.struts.action.ActionForm;
     
    public class Adresse extends ActionForm {
     
    	private static final long serialVersionUID = 1L;
    	public String Ville;
    	public String CodePostal;
     
    	public String getCodePostal() {
    		return CodePostal;
    	}
    	public void setCodePostal(String codePostal) {
    		CodePostal = codePostal;
    	}
    	public String getVille() {
    		return Ville;
    	}
    	public void setVille(String ville) {
    		Ville = ville;
    	}
     
    }
    Suit la classe servlet : /WEB-INF/src/java/Adresse.java

    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
    29
    30
    31
    32
    33
    34
     
    package java;
     
    import java.io.IOException;
     
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
     
    import org.apache.struts.action.Action;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionForward;
    import org.apache.struts.action.ActionMapping;
     
    import beans.Adresse;
     
    public class Controle extends Action {
     
    	public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response)
    		throws IOException, ServletException {
     
    		//récupération du formulaire
    		Adresse uneAdresse = new Adresse(); 
    		uneAdresse = (Adresse) form;
     
    		if (uneAdresse.getVille() != null && ! uneAdresse.getVille().equals("")) {
    			System.out.println("La ville : " + uneAdresse.getVille());
    		}
     
     
    		return mapping.findForward("succes");
    	}
     
    }
    Le struts-config.xml pour terminer :

    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
    <?xml version="1.0" encoding="ISO-8859-1" ?>
     
    <!DOCTYPE struts-config PUBLIC
              "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN"
              "http://struts.apache.org/dtds/struts-config_1_3.dtd">
     
    <struts-config>
     
     
    <!-- ================================================ Form Bean Definitions -->
     
        <form-beans>
        	<form-bean name="AdresseBean" type="beans.Adresse"/>
        </form-beans>
     
     
    <!-- =========================================== Global Forward Definitions -->
     
        <global-forwards>
            <forward name="welcome" path="/Welcome.do"/>
            <forward name="succes" path="/pages/succes.jsp"/>
        </global-forwards>
     
     
    <!-- =========================================== Action Mapping Definitions -->
     
        <action-mappings>
            <action path="/accueil" name="AdresseBean" type="java.Controle" />
     
     
        </action-mappings>
     
     
    <!-- ======================================== Message Resources Definitions -->
     
        <message-resources parameter="java.MessageResources" />
     
    </struts-config>
    Je lance Tomcat, appelle l'appli web, le formulaire s'affiche très bien. Je rentre une simple donnée, et boum ! Je me prends une Erreur 500 :

    exception

    javax.servlet.ServletException: java.Controle
    org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:286)
    org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
    org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

    cause mère

    java.lang.ClassNotFoundException: java.Controle
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1363)
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1209)
    org.apache.struts.chain.commands.util.ClassUtils.getApplicationClass(ClassUtils.java:54)
    org.apache.struts.chain.commands.util.ClassUtils.getApplicationInstance(ClassUtils.java:71)
    org.apache.struts.chain.commands.servlet.CreateAction.createAction(CreateAction.java:98)
    org.apache.struts.chain.commands.servlet.CreateAction.getAction(CreateAction.java:68)
    org.apache.struts.chain.commands.AbstractCreateAction.execute(AbstractCreateAction.java:90)
    org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
    org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
    org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304)
    org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
    org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
    org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
    org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    Là, je ne vois pas mon erreur , je me demande s'il ne manque pas un jar quelque part...

    Quelqu'un aurait-il une idée ?

    Merci par avance

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    t'as bien un WEB-INF/classes/java/Controle.class dans ta webapp? (attention à la casse si t'es sous windows)

  3. #3
    Membre régulier
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2007
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 163
    Points : 90
    Points
    90
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    t'as bien un WEB-INF/classes/java/Controle.class dans ta webapp? (attention à la casse si t'es sous windows)
    Oui, les classes compilées sont bien présentes dans le fichier WAR exporté sur Tomcat.

  4. #4
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    tu n'aurais pas une autre exception en amont? Lors de l'initialisation statique de la classe.

  5. #5
    Membre régulier
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2007
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 163
    Points : 90
    Points
    90
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    tu n'aurais pas une autre exception en amont? Lors de l'initialisation statique de la classe.
    Merci pour ta réponse, mais je ne comprends pas la question...

    A tout hasard, voici le log complet :

    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
     
    9 mai 2009 23:04:20 org.apache.catalina.core.ApplicationContext log
    INFO: HTMLManager: init: Associated with Deployer 'Catalina:type=Deployer,host=localhost'
    9 mai 2009 23:04:20 org.apache.catalina.core.ApplicationContext log
    INFO: HTMLManager: init: Global resources are available
    9 mai 2009 23:04:20 org.apache.catalina.core.ApplicationContext log
    INFO: HTMLManager: list: Listing contexts for virtual host 'localhost'
    9 mai 2009 23:04:28 org.apache.struts.chain.ComposableRequestProcessor init
    INFO: Initializing composable request processor for module prefix ''
    9 mai 2009 23:04:28 org.apache.struts.chain.commands.servlet.CreateAction createAction
    INFO: Initialize action of type: java.Controle
    9 mai 2009 23:04:28 org.apache.struts.chain.commands.AbstractExceptionHandler execute
    ATTENTION: Unhandled exception
    java.lang.ClassNotFoundException: java.Controle
    	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1363)
    	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1209)
    	at org.apache.struts.chain.commands.util.ClassUtils.getApplicationClass(ClassUtils.java:54)
    	at org.apache.struts.chain.commands.util.ClassUtils.getApplicationInstance(ClassUtils.java:71)
    	at org.apache.struts.chain.commands.servlet.CreateAction.createAction(CreateAction.java:98)
    	at org.apache.struts.chain.commands.servlet.CreateAction.getAction(CreateAction.java:68)
    	at org.apache.struts.chain.commands.AbstractCreateAction.execute(AbstractCreateAction.java:90)
    	at org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
    	at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
    	at org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304)
    	at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
    	at org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
    	at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
    	at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
    	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
    	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
    	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
    	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
    	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
    	at java.lang.Thread.run(Thread.java:619)
    9 mai 2009 23:04:28 org.apache.struts.chain.commands.ExceptionCatcher postprocess
    ATTENTION: Exception from exceptionCommand 'servlet-exception'
    java.lang.ClassNotFoundException: java.Controle
    	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1363)
    	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1209)
    	at org.apache.struts.chain.commands.util.ClassUtils.getApplicationClass(ClassUtils.java:54)
    	at org.apache.struts.chain.commands.util.ClassUtils.getApplicationInstance(ClassUtils.java:71)
    	at org.apache.struts.chain.commands.servlet.CreateAction.createAction(CreateAction.java:98)
    	at org.apache.struts.chain.commands.servlet.CreateAction.getAction(CreateAction.java:68)
    	at org.apache.struts.chain.commands.AbstractCreateAction.execute(AbstractCreateAction.java:90)
    	at org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
    	at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
    	at org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304)
    	at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
    	at org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
    	at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
    	at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
    	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
    	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
    	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
    	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
    	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
    	at java.lang.Thread.run(Thread.java:619)
    9 mai 2009 23:04:28 org.apache.catalina.core.StandardWrapperValve invoke
    GRAVE: "Servlet.service()" pour la servlet action a généré une exception
    java.lang.ClassNotFoundException: java.Controle
    	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1363)
    	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1209)
    	at org.apache.struts.chain.commands.util.ClassUtils.getApplicationClass(ClassUtils.java:54)
    	at org.apache.struts.chain.commands.util.ClassUtils.getApplicationInstance(ClassUtils.java:71)
    	at org.apache.struts.chain.commands.servlet.CreateAction.createAction(CreateAction.java:98)
    	at org.apache.struts.chain.commands.servlet.CreateAction.getAction(CreateAction.java:68)
    	at org.apache.struts.chain.commands.AbstractCreateAction.execute(AbstractCreateAction.java:90)
    	at org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
    	at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
    	at org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304)
    	at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
    	at org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
    	at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
    	at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
    	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
    	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
    	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
    	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
    	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
    	at java.lang.Thread.run(Thread.java:619)

  6. #6
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    ben vu les logs, ta classe n'est pas présente dans WEB-INF/classes.

    Tu peux nous montrer toute l'architecture de fichiers que tu as dans le WEB-INF/classes de ta webapp déployée?

  7. #7
    Membre régulier
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2007
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 163
    Points : 90
    Points
    90
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    ben vu les logs, ta classe n'est pas présente dans WEB-INF/classes.

    Tu peux nous montrer toute l'architecture de fichiers que tu as dans le WEB-INF/classes de ta webapp déployée?
    Tu peux télécharger mon fichier WAR à l'adresse suivante :
    http://perso.orange.fr/athe/St_Simple

    On voit bien dans cette archive que les fichiers ".class" sont bien présents :
    WEB-INF/classes/beans/Adresse.class
    WEB-INF/classes/java/Controle.class

    Cependant, je partage ton avis, on dirait bien qu'il ne trouve pas la classe demandée...

  8. #8
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    Pourrais-tu faire un test en donnant un autre nom à ton package java ?

  9. #9
    Membre régulier
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2007
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 163
    Points : 90
    Points
    90
    Par défaut
    Citation Envoyé par c_nvy Voir le message
    Pourrais-tu faire un test en donnant un autre nom à ton package java ?
    Je viens de refaire le test comme tu me l'as conseillé : toujours le même problème.

  10. #10
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    Quel nom as-tu donné au package pour le test ?

    Sinon, je ne parviens pas à accéder à ton war.

  11. #11
    Membre régulier
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2007
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 163
    Points : 90
    Points
    90
    Par défaut
    Citation Envoyé par c_nvy Voir le message
    Quel nom as-tu donné au package pour le test ?

    Sinon, je ne parviens pas à accéder à ton war.
    Le nouveau package a pour nom : St135_1.war

    Tu peux les télécharger aux adresses suivantes (en http) :

    http://perso.orange.fr/athe/St135_1.war

    http://perso.orange.fr/athe/St_Simple.war

    Merci par avance.

  12. #12
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    Tu n'as pas renommé le nom du package dans lequel se trouve la classe Controle.
    Je t'ai demandé de faire un test en l'appelant autrement que java.

  13. #13
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    En fait, le préfixe java est tout simplement un nom réservé. Il ne faut pas l'utiliser comme nom de package :
    Les préfixes java , javax et sun sont réservés pour les noms des packages des classes standards du langage Java et des packages développés par Sun MicroSystems.

  14. #14
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    Citation Envoyé par c_nvy Voir le message
    En fait, le préfixe java est tout simplement un nom réservé. Il ne faut pas l'utiliser comme nom de package :
    +1, j'avais pas tilté le nom de package

  15. #15
    Membre régulier
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2007
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 163
    Points : 90
    Points
    90
    Par défaut
    Citation Envoyé par c_nvy Voir le message
    Tu n'as pas renommé le nom du package dans lequel se trouve la classe Controle.
    Je t'ai demandé de faire un test en l'appelant autrement que java.
    *oups!*

    Pardon, je n'avais pas compris... je l'ai renommé ctl... Et le problème persiste

    Etat HTTP 500 - type Rapport d'exception

    message

    description Le serveur a rencontré une erreur interne () qui l'a empêché de satisfaire la requête.

    exception

    javax.servlet.ServletException: ctl.Controle
    org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:286)
    org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
    org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

    cause mère

    java.lang.ClassNotFoundException: ctl.Controle
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1363)
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1209)
    org.apache.struts.chain.commands.util.ClassUtils.getApplicationClass(ClassUtils.java:54)
    org.apache.struts.chain.commands.util.ClassUtils.getApplicationInstance(ClassUtils.java:71)
    org.apache.struts.chain.commands.servlet.CreateAction.createAction(CreateAction.java:98)
    org.apache.struts.chain.commands.servlet.CreateAction.getAction(CreateAction.java:68)
    org.apache.struts.chain.commands.AbstractCreateAction.execute(AbstractCreateAction.java:90)
    org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
    org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
    org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304)
    org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
    org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
    org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
    org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

    note La trace complète de la cause mère de cette erreur est disponible dans les fichiers journaux de Apache Tomcat/5.5.26.
    J'ai remis mon fichier WAR sur mon site :

    http://perso.orange.fr/athe/St_Simple.war

  16. #16
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    Mais tu as toujours un package du nom de java sous WEB-INF/classes et dans laquelle se trouve la classe Controle.
    Et sous WEB-INF/src, il y a bien un package ctl mais pas de classe Controle.

  17. #17
    Membre régulier
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2007
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 163
    Points : 90
    Points
    90
    Par défaut
    Citation Envoyé par c_nvy Voir le message
    Mais tu as toujours un package du nom de java sous WEB-INF/classes et dans laquelle se trouve la classe Controle.
    Et sous WEB-INF/src, il y a bien un package ctl mais pas de classe Controle.
    Bien vu !...

    ... et ça fonctionne !!!

    Ma chère c_nvy, je te remercie beaucoup ! Et je n'oublie pas au passage tchize_ !

    J'ignorais qu'il ne faut pas utiliser java dans un nom de package... J'ai ainsi appris quelque chose aujourd'hui.

    Merci encore !!!

  18. #18
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    De rien.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 09/11/2012, 18h13
  2. Réponses: 2
    Dernier message: 27/02/2012, 19h16
  3. Réponses: 1
    Dernier message: 06/02/2012, 11h15
  4. [Debutant] erreur Java.lang.ClassNotFoundException
    Par chlebta*tsotsi dans le forum JDBC
    Réponses: 3
    Dernier message: 20/05/2011, 08h26
  5. Réponses: 1
    Dernier message: 04/07/2008, 20h15

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