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

GWT et Vaadin Java Discussion :

problème avec GWT:did you forget to inherit a required module


Sujet :

GWT et Vaadin Java

  1. #1
    Membre régulier
    Inscrit en
    Février 2008
    Messages
    686
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 686
    Points : 118
    Points
    118
    Par défaut problème avec GWT:did you forget to inherit a required module
    salut
    j'utilise GWT 2.0 et eclipse 3.4.1 acev le plugin GWT
    je voudrait integrer hibernate 3 dans mon projet
    en lançant le projet sous eclipse (developpment mode)
    j'obtient les erreurs suivantes:
    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
     
    12:45:04.906 [ERROR] [monApp] Line 7: No source code is available for type 
     
    com.google.gwt.user.server.rpc.RemoteServiceServlet; did you forget to inherit a required module?
     
    12:45:10.625 [ERROR] [monApp] Errors in 'file:/C:/Documents%20and%
     
    20Settings/poste01/workspace/monApp/src/exemple/gwt/server/UserWebHome.java'
     
    12:45:10.625 [ERROR] [monApp] Line 25: No source code is available for type org.apache.commons.logging.Log; 
     
    did you forget to inherit a required module?
     
    12:45:10.625 [ERROR] [monApp] Line 25: No source code is available for type org.apache.commons.logging.Log; 
     
    did you forget to inherit a required module?
     
    12:45:10.656 [ERROR] [monApp] Line 25: No source code is available for type 
     
    org.apache.commons.logging.LogFactory; did you forget to inherit a required module?
     
    12:45:10.656 [ERROR] [monApp] Line 28: No source code is available for type org.hibernate.SessionFactory; did 
     
    you forget to inherit a required module?
     
    12:45:10.671 [ERROR] [monApp] Line 57: No source code is available for type org.hibernate.LockMode; did you 
     
    forget to inherit a required module?
     
    12:45:10.687 [ERROR] [monApp] Line 92: No source code is available for type org.hibernate.Session; did you 
     
    forget to inherit a required module?
     
    12:45:10.703 [ERROR] [monApp] Line 93: No source code is available for type 
     
    tn.com.tradenet.support.services.db.util.HibernateSessionFactory; did you forget to inherit a required 
     
    module?
     
    12:45:10.718 [ERROR] [monApp] Line 112: No source code is available for type org.hibernate.criterion.Example; 
     
    did you forget to inherit a required module?
     
    12:45:13.453 [INFO] [monApp] Module monApp has been loaded
    pourtant mon projet s'exécute bien
    pourquoi gwt génére ces erreurs?
    pourquoi ne connait t il pas la servlet RemoteServiceServlet
    pourquoi ne connait t il pas la classe org.apache.commons.logging.Log
    ...
    tous ces classes sont dans le package server , il ne seront donc pas compilés en JS
    pourqui gwt ne les connait pas alors puise qu'elles ne seront pas traduits en JS
    ces erreurs sont survenu lorsque j'ai integré hibernate

  2. #2
    Membre actif

    Inscrit en
    Août 2002
    Messages
    302
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Août 2002
    Messages : 302
    Points : 285
    Points
    285
    Par défaut
    Bonjour,
    Peux tu poster ton fichier .gwt.xml ?
    Meme si tes classes sont dans ton package server, si tu essaies de faire appel à ces classes depuis ton module client eclipse peut ne pas afficher d'erreurs mais gwt peut gueuler.
    Poste ton fichier .gwt.xml et ton entryPoint ou du moins une partie pour qu'on puisse t'aider.

  3. #3
    Membre régulier
    Inscrit en
    Février 2008
    Messages
    686
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 686
    Points : 118
    Points
    118
    Par défaut
    Citation Envoyé par nannous Voir le message
    Bonjour,
    Peux tu poster ton fichier .gwt.xml ?
    Meme si tes classes sont dans ton package server, si tu essaies de faire appel à ces classes depuis ton module client eclipse peut ne pas afficher d'erreurs mais gwt peut gueuler.
    Poste ton fichier .gwt.xml et ton entryPoint ou du moins une partie pour qu'on puisse t'aider.
    voici mon module:
    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
     
    <?xml version="1.0" encoding="UTF-8"?>
    <module rename-to='monApp'>
      <!-- Inherit the core Web Toolkit stuff.                        -->
      <inherits name='com.google.gwt.user.User'/>
     
      <!-- Inherit the default GWT style sheet.  You can change       -->
      <!-- the theme of your GWT application by uncommenting          -->
      <!-- any one of the following lines.                            -->
      <inherits name='com.google.gwt.user.theme.standard.Standard'/>
      <!-- <inherits name='com.google.gwt.user.theme.chrome.Chrome'/> -->
      <!-- <inherits name='com.google.gwt.user.theme.dark.Dark'/>     -->
     
      <!-- Other module inherits                                      -->
      <!-- Specify the app entry point class.                         -->
      <entry-point class='exemple.gwt.client.acceuil'/>
    <!-- servlet path='/greet'
    class='exemple.gwt.server.GreetingServiceImpl'/-->
      <!-- Specify the paths for translatable code                    -->
      <source path='client'/>
      <source path='server'/>
     
    </module>
    mon entrypoint est:
    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
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
     
    public class acceuil implements EntryPoint {
    	/**
             * The message displayed to the user when the server cannot be reached or
             * returns an error.
             */
    	private static final String SERVER_ERROR = "An error occurred while "
    			+ "attempting to contact the server. Please check your network "
    			+ "connection and try again.";
     
    	/**
             * Create a remote service proxy to talk to the server-side Greeting service.
             */
    	private final GreetingServiceAsync greetingService = GWT
    			.create(GreetingService.class);
     
    	/**
             * This is the entry point method.
             */
    	public void onModuleLoad() {
    		final Button sendButton = new Button("Send");
    		final TextBox nameField = new TextBox();
    		nameField.setText("GWT User");
     
    		// We can add style names to widgets
    		sendButton.addStyleName("sendButton");
     
    		// Add the nameField and sendButton to the RootPanel
    		// Use RootPanel.get() to get the entire body element
    		RootPanel.get("nameFieldContainer").add(nameField);
    		RootPanel.get("sendButtonContainer").add(sendButton);
     
    		// Focus the cursor on the name field when the app loads
    		nameField.setFocus(true);
    		nameField.selectAll();
     
    		// Create the popup dialog box
    		final DialogBox dialogBox = new DialogBox();
    		dialogBox.setText("Remote Procedure Call");
    		dialogBox.setAnimationEnabled(true);
    		final Button closeButton = new Button("Close");
    		// We can set the id of a widget by accessing its Element
    		closeButton.getElement().setId("closeButton");
    		final Label textToServerLabel = new Label();
    		final HTML serverResponseLabel = new HTML();
    		VerticalPanel dialogVPanel = new VerticalPanel();
    		dialogVPanel.addStyleName("dialogVPanel");
    		dialogVPanel.add(new HTML("<b>Sending name to the server:</b>"));
    		dialogVPanel.add(textToServerLabel);
    		dialogVPanel.add(new HTML("<br><b>Server replies:</b>"));
    		dialogVPanel.add(serverResponseLabel);
    		dialogVPanel.setHorizontalAlignment(VerticalPanel.ALIGN_RIGHT);
    		dialogVPanel.add(closeButton);
    		dialogBox.setWidget(dialogVPanel);
    		//dialogBox.center();
    		// Add a handler to close the DialogBox
    		closeButton.addClickHandler(new ClickHandler() {
    			public void onClick(ClickEvent event) {
    				dialogBox.hide();
    				sendButton.setEnabled(true);
    				sendButton.setFocus(true);
    			}
    		});
     
    		// Create a handler for the sendButton and nameField
    		class MyHandler implements ClickHandler, KeyUpHandler {
    			/**
                             * Fired when the user clicks on the sendButton.
                             */
    			public void onClick(ClickEvent event) {
    				sendNameToServer();
    			}
     
    			/**
                             * Fired when the user types in the nameField.
                             */
    			public void onKeyUp(KeyUpEvent event) {
    				if (event.getNativeKeyCode() == KeyCodes.KEY_ENTER) {
    					sendNameToServer();
    				}
    			}
     
    			/**
                             * Send the name from the nameField to the server and wait for a response.
                             */
    			private void sendNameToServer() {
    				sendButton.setEnabled(false);
    				String textToServer = nameField.getText();
    				textToServerLabel.setText(textToServer);
    				serverResponseLabel.setText("");
    				greetingService.greetServer(textToServer,
    						new AsyncCallback<UserWeb>() {
    							public void onFailure(Throwable caught) {
    								// Show the RPC error message to the user
    								dialogBox.setText("Remote Procedure Call - Failure");
    								serverResponseLabel.addStyleName("serverResponseLabelError");
    								serverResponseLabel.setHTML(SERVER_ERROR);
    								dialogBox.center();
    								closeButton.setFocus(true);
    							}
                                  public void onSuccess(UserWeb result) {
    								dialogBox.setText("Remote Procedure Call");
    								serverResponseLabel.removeStyleName("serverResponseLabelError");
    								if(result==null)
    									serverResponseLabel.setHTML("non trouvé");
    								else
    								serverResponseLabel.setHTML(result.getPassword());
    								dialogBox.center();
    								closeButton.setFocus(true);
    							}
     
    													});
    			}
    		}
     
    		// Add a handler to send the name to the server
    		MyHandler handler = new MyHandler();
    		sendButton.addClickHandler(handler);
    		nameField.addKeyUpHandler(handler);
    	}
    }
    je ne pense pas que mon entrypoint est la cause du probleme car comme je l'ai dis, mon application fonctionne .

  4. #4
    Membre actif

    Inscrit en
    Août 2002
    Messages
    302
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Août 2002
    Messages : 302
    Points : 285
    Points
    285
    Par défaut
    Supprime
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <source path='server'/>
    Ajoute tes libraires hibernate et celle de commons logging et essaie de lancer ton appli.

  5. #5
    Membre régulier
    Inscrit en
    Février 2008
    Messages
    686
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 686
    Points : 118
    Points
    118
    Par défaut
    Citation Envoyé par nannous Voir le message
    Ajoute tes libraires hibernate et celle de commons logging
    qu'est ce que tu veut dire ? mes libraries sont deja dans le classpath et l'application fonctionne

    Supprime
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <source path='server'/>
    et essaie de lancer ton appli.
    j'ai supprimé <source path='server'/>
    maintenant,l'application ne marche plus et j'obtient ces erreurs:
    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
     
    14:41:20.875 [ERROR] [monApp] Errors in 'file:/C:/Documents%20and%
     
    20Settings/poste01/workspace/monApp/src/exemple/gwt/client/GreetingService.java'
     
    14:41:20.890 [ERROR] [monApp] Line 15: No source code is available for type 
     
    exemple.gwt.server.UserWeb; did you forget to inherit a required module?
     
    14:41:23.546 [ERROR] [monApp] Errors in 'file:/C:/Documents%20and%
     
    20Settings/poste01/workspace/monApp/src/exemple/gwt/client/monApp.java'
     
    14:41:23.562 [ERROR] [monApp] Line 115: No source code is available for type 
     
    exemple.gwt.server.UserWeb; did you forget to inherit a required module?
     
    14:41:24.390 [ERROR] [monApp] Errors in 'file:/C:/Documents%20and%20Settings/poste01/supportWorkspace/monApp/src/exemple/gwt/client/GreetingServiceAsync.java'
     
    14:41:24.406 [ERROR] [monApp] Line 13: No source code is available for type exemple.gwt.server.UserWeb; did you forget to inherit a required module?
     
    14:41:25.515 [ERROR] [monApp] Unable to find type 'exemple.gwt.client.monApp'
     
    14:41:25.531 [ERROR] [monApp] Hint: Previous compiler errors may have made this type unavailable
     
    14:41:25.531 [ERROR] [monApp] Hint: Check the inheritance chain from your module; it may not be inheriting a required module or a module may not be adding its source path entries properly
     
    14:41:25.546 [ERROR] [monApp] Failed to load module 'monApp' from user agent 'Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9.1.7) Gecko/20091221 Firefox/3.5.7' at MONPC:2777

  6. #6
    Membre actif

    Inscrit en
    Août 2002
    Messages
    302
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Août 2002
    Messages : 302
    Points : 285
    Points
    285
    Par défaut
    Il y'a cette classe tn.com.tradenet.support.server.UserWeb que tu déclares coté serveur et t'essaie de l'utiliser dans tes appels asynchrones (classe GreetingServiceAsync).
    Il faut la déclarer dans ton package client. S'il s'agit d'un objet métier prévoie des classes clientes et effectue la copie de ces objets métiers coté serveur.

  7. #7
    Membre régulier
    Inscrit en
    Février 2008
    Messages
    686
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 686
    Points : 118
    Points
    118
    Par défaut
    non ,tu as regardé une ancienne version.revoie mon poste et tu ne retrouvra pas ce package

  8. #8
    Membre actif

    Inscrit en
    Août 2002
    Messages
    302
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Août 2002
    Messages : 302
    Points : 285
    Points
    285
    Par défaut
    Au temps pour moi, mais on reste toujours dans le même type de raisonnement qui s'applique à la même classe qui est dans exemple.gwt.server.UserWeb. Il faut que cette classe soit déclaré dans ton package client.

  9. #9
    Membre régulier
    Inscrit en
    Février 2008
    Messages
    686
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 686
    Points : 118
    Points
    118
    Par défaut
    Citation Envoyé par nannous Voir le message
    Au temps pour moi, mais on reste toujours dans le même type de raisonnement qui s'applique à la même classe qui est dans exemple.gwt.server.UserWeb. Il faut que cette classe soit déclaré dans ton package client.
    j'ai une question à poser: est ce que les package declarer dans mon modules sont ceux qui vont etre compilé en JS?

  10. #10
    Membre actif

    Inscrit en
    Août 2002
    Messages
    302
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Août 2002
    Messages : 302
    Points : 285
    Points
    285
    Par défaut
    Si par cela tu veux dire que les packages déclaré dans ton fichier .gwt.xml sont ceux qui vont être complilés en javascript je pense que oui. En ce qui me concerne j'ai zappé les balises
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <source path='server'/>
    vu que je n'ai que le package client qui sera compilé en javascript. Quand je regarde la réponse de Benwit ici il me semble que c'est bien le cas.
    J'ai travaillé un bon bout de temps avec les version 1.4 et 1.5 de GWT et là je me familiarise petit à petit à la nouvelle structure des projets GWT 2.0 qui me semble pas très évidente mais bon ça n'engage que moi.

  11. #11
    Membre régulier
    Inscrit en
    Février 2008
    Messages
    686
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 686
    Points : 118
    Points
    118
    Par défaut
    merci nannous pour l'aide c'est résolu maintenant
    j'ai ajouter un package data dans lequel j' mis mon user bean
    j'ai bien sur supprimé la declarartion du package server dans le module

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

Discussions similaires

  1. Did you forget to inherit module
    Par Jacky31 dans le forum GWT et Vaadin
    Réponses: 14
    Dernier message: 02/08/2010, 15h47
  2. RPC "did you forget to inherit a required module?"
    Par gwinyam dans le forum GWT et Vaadin
    Réponses: 21
    Dernier message: 31/05/2010, 11h21
  3. [SmartGWT] did you forget to inherit a required module?
    Par touille dans le forum GWT et Vaadin
    Réponses: 3
    Dernier message: 05/05/2010, 10h46
  4. [Free Pascal] [2.2.4] Message "link.res contains output sections; did you forget -T?"
    Par whatelse dans le forum Free Pascal
    Réponses: 4
    Dernier message: 16/11/2009, 20h56
  5. Problème avec Gwt 1.6
    Par Erazion dans le forum GWT et Vaadin
    Réponses: 8
    Dernier message: 22/04/2009, 17h01

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