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

Développement Web en Java Discussion :

Erreur java.lang ClassNotFoundException


Sujet :

Développement Web en Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 32
    Par défaut Erreur java.lang ClassNotFoundException
    Bonsoir tout le monde,

    je fait appel à vous car me voilà face à une erreur que je n'arrive pas à résoudre.
    Après maintes recherches, je ne trouve que des pistes vers le classpath etc, mais je ne comprends pas pourquoi je devrais modifier quoi que ce soit dans le classpath, vu que mes autres projets sous eclipse fonctionnent.

    Voilà mon pb:
    J'ai créé un web dynamic project avec des servlets. Dans ma servlet Login, je fais appel à la méthode userExist() qui appartient à la classe UserInfo qui se trouve dans un autre projet java non dynamique cette fois et là bim erreur: java.lang.ClassNotFoundException. Pourtant, j'ai fais les import qu'il fallait et ajouté dans le build path du projet java dynamique le second projet java, celui qui contient la méthode userExist().
    De plus, quand je compile seulement le projet java tout court, et que j’exécute la méthode userExiste() dans le main du projet où il a été défini, ça fonctionne.


    Voilà un bout du code de la servlet Login, dans laquelle je fais appel à la methode userExist():

    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 com.servlets;
    import com.WSC.client.UserInfo;
     
    [...]
     
     
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) 
    			  throws ServletException, IOException {
     
    		String email = req.getParameter("email");
    		String password = req.getParameter("pass");
    		String userFirstname;
    		String userLastname;
    		String adminName;
     
    		System.out.println(email + " " + password);
     
     
    		UserInfo userInfo = new UserInfo();
     
    		String response = userInfo.userExist(email, password);
     
    		if(response.equals("ok"))
    		{
     
    			userInfo.userExist(email, password);
    			resp.sendRedirect(req.getContextPath()+ "/userAuth/userSpace");
     
    		}else{
     
    			RequestDispatcher rd = req.getRequestDispatcher("/login.jsp");
    			rd.forward(req, resp);
    		}

    Et voici la classe UserInfo qui se trouve dans un autre projet 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
    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
     
     
    package com.WSC.client;
     
    import java.io.StringReader;
     
    import javax.json.Json;
    import javax.json.stream.JsonParser;
    import javax.ws.rs.core.MediaType;
     
    import com.sun.jersey.api.client.Client;
    import com.sun.jersey.api.client.ClientResponse;
    import com.sun.jersey.api.client.UniformInterfaceException;
    import com.sun.jersey.api.client.WebResource;
    import com.sun.jersey.api.client.config.ClientConfig;
    import com.sun.jersey.api.client.config.DefaultClientConfig;
     
    public class UserInfo {
     
    	public static final String BASE_URI = "http://localhost:8080/";
    	public static String resp;
     
    	public String userExist(String email, String pass){
     
     
    		ClientConfig config = new DefaultClientConfig();
    		Client client = Client.create(config);
    		WebResource resource = client.resource(BASE_URI);
     
    		WebResource nameResource = resource.path("api").path("user/" + email + "/" + pass);
     
    		try{
     
    					System.out.println("Client Response \n" + getClientResponse(nameResource) + "\n\n");
    					System.out.println("Response \n" + getResponse(nameResource) + "\n\n");
     
    					handleParsing(getResponse(nameResource));	
    					resp ="ok";
    					System.out.println(resp);
    				}
    				catch(UniformInterfaceException e){
     
    					resp = "not ok";
    					System.out.println(resp);
    				}		
    		return resp;	
    	}
     
    	private static String getClientResponse(WebResource resource) {
    		return resource.accept(MediaType.APPLICATION_JSON).get(ClientResponse.class)
    		.toString();
    	}
     
    	private static String getResponse(WebResource resource) {		
    		return resource.accept(MediaType.APPLICATION_JSON).get(String.class);
     
    	}
     
    	private static void handleParsing(String json){
     
    		JsonParser jsonParser = Json.createParser(new StringReader(json));
    		while(jsonParser.hasNext()){
    			switch(jsonParser.next()){
     
    				case START_OBJECT:
    				System.out.println("Start_object");
    				break;
     
    				case END_OBJECT:
    				System.out.println("End_object");
    				break;
     
    				case START_ARRAY:
    				System.out.println("Start_array");
    				break;
     
    				case END_ARRAY:
    				System.out.println("End_array");
    				break;
     
    				case KEY_NAME:
    				System.out.println("Key_name " + jsonParser.getString());
    				break;
     
    				case VALUE_STRING:
    				System.out.println("Value_string " + jsonParser.getString());
    				break;
     
    				case VALUE_NUMBER:
    				System.out.println("Key_name " + jsonParser.getInt());
    				break;		
    			}	
    		}
    	}
    }


    Voilà, j'espère avoir été un peu claire, si quelqu'un pouvait m'aider ce serait super.
    Merci!!!!!!

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    974
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 974
    Par défaut
    as-tu essayé en mettant UserInfo.class dans WEB-INF/classes ?

  3. #3
    Membre averti
    Femme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 32
    Par défaut
    Citation Envoyé par plawyx Voir le message
    as-tu essayé en mettant UserInfo.class dans WEB-INF/classes ?


    Merci Plawyx pour ta réponse!!!
    Malheureusement, l'erreur persiste. J'ai crée le dossier classes dans Web-Inf auquel j'ai rajouté la classeur UserInfo, j'ai cliqué droit dessus et je l'ai rajouté au build-path, mais non ça ne change rien.

  4. #4
    Membre Expert

    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    974
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 974
    Par défaut
    Comment déploies-tu ta webapp pour faire le test ?

  5. #5
    Membre averti
    Femme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 32
    Par défaut
    Citation Envoyé par plawyx Voir le message
    Comment déploies-tu ta webapp pour faire le test ?

    Je ne sais pas si ça répond à ta question.
    J'ai déclaré mes servlets dans le web.xml, puis j'ai executé le projet (sous eclipse).


    Voici le fichier web.xml:

    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
     
     
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
      <display-name>MyWebApp</display-name>
      <welcome-file-list>
        <welcome-file>login.jsp</welcome-file>
      </welcome-file-list>
       <listener>
        <listener-class>com.listener.PersistenceAppListener</listener-class>
      </listener>
      <servlet>
        <servlet-name>REST Service</servlet-name>
        <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
        <init-param>
          <param-name>com.sun.jersey.config.property.packages</param-name>
          <param-value>com.rest</param-value>
        </init-param>
      </servlet>
      <servlet-mapping>
        <servlet-name>REST Service</servlet-name>
        <url-pattern>/api/*</url-pattern>
      </servlet-mapping>
    </web-app>

  6. #6
    Membre Expert

    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    974
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 974
    Par défaut
    en mettant le UserInfo.class dans WEB-INF/classes ça marche chez moi.

    La classe UserInfo.java appartient au package com.WSC.client, donc, mettre UserInfo.class dans WEB-INF/classes sous-entend dans WEB-INF/classes/com/WSC/client/UserInfo.class

  7. #7
    Expert éminent
    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 : 46
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Citation Envoyé par Miimmmii Voir le message
    Dans ma servlet Login, je fais appel à la méthode userExist() qui appartient à la classe UserInfo qui se trouve dans un autre projet java non dynamique cette fois et là bim erreur: java.lang.ClassNotFoundException. Pourtant, j'ai fais les import qu'il fallait et ajouté dans le build path du projet java dynamique le second projet java, celui qui contient la méthode userExist().
    Tu peux nous montrer, screenshots à l'appui, comment tu as configuré ton projet WEB? Le deuxième projet est bien dans les exports de ton projet Web? Il apparait bien dans les librairies dans ton projets explorer? A quel niveau?

  8. #8
    Membre averti
    Femme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 32
    Par défaut
    Je clos le post, apparemment je fais fausse route.
    Je dois recommencer mon projet.

    Merci pour vos réponses.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 09/11/2012, 17h13
  2. Réponses: 1
    Dernier message: 06/02/2012, 10h15
  3. [Debutant] erreur Java.lang.ClassNotFoundException
    Par chlebta*tsotsi dans le forum JDBC
    Réponses: 3
    Dernier message: 20/05/2011, 07h26
  4. [Struts 1.3.8] Erreur java.lang.ClassNotFoundException
    Par DomIII dans le forum Struts 1
    Réponses: 17
    Dernier message: 10/05/2009, 18h51
  5. Réponses: 1
    Dernier message: 04/07/2008, 19h15

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