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 :

NoClassDefFoundError lors du lancement d'un projet SmartGWT


Sujet :

GWT et Vaadin Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2010
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2010
    Messages : 45
    Par défaut NoClassDefFoundError lors du lancement d'un projet SmartGWT
    Bonjour,
    je viens de m'initier a GWT, et après m’être senti à l'aise, je passe maintenant à SmartGWT maintenant, seulement, lors du lancement de mon premier projet, j'ai l'erreur suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Loading modules
       com.javacodegeeks.smartgwt.client.SmartGWTIntroProjec
          Loading inherited module 'com.javacodegeeks.smartgwt.client.SmartGWTIntroProjec'
             Loading inherited module 'com.smartgwt.SmartGwt'
                [ERROR] Unexpected error while processing XML
    java.lang.NoClassDefFoundError: com/google/gwt/core/ext/linker/AbstractLinker
    	at java.lang.ClassLoader.findBootstrapClass(Native Method)
    ....
    ....
    ....
    , la classe existe bel et bien sur le Build Path, et je peux meme l'importer si je veux
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    import com.google.gwt.ore.ext.linker.AbstractLinker
    d'ailleur c'est NoClassDefFoundError et non ClassNotFoundException, ce que j'ai compris c'est que la JVM trouve le AbstractLinker.java lors du compilation mais ne trouve pas AbstractLinker.class lors de l’interprétation, en cherchant sur les forums j'ai trouvé quje ne suis pas le seul qui souffre de ce problème, seulement, aucun topic n'a résolu le problème.
    voila ce que j'ai déja verifié :
    1. mon gwt-dev.jar est là et ma classe existe bien sur le buildPath
    2. quand je supprime cette ligne
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      <inherits name="com.smartgwt.SmartGwt" />
      ça compile mais il ne reconnait plus SmartGWT et ses classes.
    3. j'ai utilisé la version 2.5.0 de GWT et 3.1 de SmartGWT


    voila mon module xml : SmartGWTIntroProjec.gwt.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
    <?xml version="1.0" encoding="UTF-8"?>
    <!-- When updating your version of GWT, you should also update this DTD reference, 
    	so that your app can take advantage of the latest GWT module capabilities. -->
    <!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.5.0//EN"
      "http://google-web-toolkit.googlecode.com/svn/tags/2.5.0/distro-source/core/src/gwt-module.dtd">
    <module rename-to='smartgwtintroprojec'>
     
    	<inherits name='com.google.gwt.user.User' />
     
     
    	<!-- Other module inherits -->
    	<inherits name="com.smartgwt.SmartGwt" />
     
    	<entry-point
    		class='com.javacodegeeks.smartgwt.client.client.SmartGWTIntroProjec' />
     
    	<!-- Specify the paths for translatable code -->
    	<source path='client' />
    	<source path='shared' />
     
    </module>
    et voila ma classe qui me sert de EntryPoint : SmartGWTIntroProjec.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
    package com.javacodegeeks.smartgwt.client.client;
     
    import com.google.gwt.core.client.EntryPoint;
    import com.google.gwt.user.client.ui.RootPanel;
    import com.smartgwt.client.util.SC;
    import com.smartgwt.client.widgets.IButton;
    import com.smartgwt.client.widgets.events.ClickEvent;
    import com.smartgwt.client.widgets.events.ClickHandler;
    import com.smartgwt.client.widgets.form.DynamicForm;
    import com.smartgwt.client.widgets.form.fields.TextItem;
     
    /**
     * Entry point classes define <code>onModuleLoad()</code>.
     */
    public class SmartGWTIntroProjec implements EntryPoint {
     
    	public void onModuleLoad() {
    		final DynamicForm form = new DynamicForm();
    		final TextItem textItem = new TextItem();
    		textItem.setTitle("Name");
    		form.setFields(textItem);
    		final IButton button = new IButton("Hello");
     
    		button.addClickHandler(new ClickHandler() {
    			public void onClick(ClickEvent event) {
    				String name = textItem.getValue().toString();
    				SC.say("Hello " + name);
    			}
    		});
     
    		RootPanel.get("formContainer").add(form);
    		RootPanel.get("buttonContainer").add(button);
     
    	}
    }
    et finalement voila ma page html :
    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
    <!doctype html>
     
     
    <html>
    <head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
     
     
    <link type="text/css" rel="stylesheet" href="SmartGWTIntroProjec.css">
     
    <title>Web Application Starter Project</title>
     
    <script>
     	var isomorphicDir = "smartgwtintroproject/sc/";
    </script>
    <script type="text/javascript" language="javascript"
    	src="smartgwtintroprojec/smartgwtintroprojec.nocache.js"></script>
    </head>
     
     
    <body>
     
    	<iframe src="javascript:''" id="__gwt_historyFrame" tabIndex='-1'
    		style="position: absolute; width: 0; height: 0; border: 0"></iframe>
     
    	<noscript>
    		<div
    			style="width: 22em; position: absolute; left: 50%; margin-left: -11em; color: red; background-color: white; border: 1px solid red; padding: 4px; font-family: sans-serif">
    			Your web browser must have JavaScript enabled in order for this
    			application to display correctly.</div>
    	</noscript>
     
    	<h1>Web Application Starter Project</h1>
     
    	<table align="center">
    		<tr>
    			<td colspan="2" style="font-weight: bold;">Please enter your
    				name:</td>
    		</tr>
    		<tr>
    			<td id="formContainer"></td>
    			<td id="buttonContainer"></td>
     
    		</tr>
    		<tr>
    			<td colspan="2" style="color: red;" id="errorLabelContainer"></td>
    		</tr>
    	</table>
    </body>
    </html>
    je m'excuse si c'est très long, mais je tiens à tout préciser pour recevoir la bonne démarche, Merci d'avance et énormément

  2. #2
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2010
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2010
    Messages : 45
    Par défaut Solution
    bon j'ai trouvé une solution alternative qui n'est pas Optimal du tout, j'ai inclu des JAR directement sur le ClassPath, sans passer par UserLibrary et ça a compilé, maintenant j'ai les JAR inclus en double, via UserLibrary (pour la compilation) et directement (pour l’interprétation) si je me contente de ceux importé via UserLibrary, j'aurai ma fameuse Exception NoClassDefFoundError, et si je me contente de ceux importé via ClassPath directement j'aurai l'inestimable ClassNotFoundException.
    voila pour ceux qui auront le même problème, et si quelqu'un a une autre solution plus optimale (est plus réelle) ça sera la bienvenue. Merci

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

Discussions similaires

  1. Erreur lors du lancement de mon projet
    Par routnic dans le forum C++Builder
    Réponses: 2
    Dernier message: 30/10/2012, 14h18
  2. [AC-2007] Erreur lors du lancement d'un projet
    Par locosr dans le forum Modélisation
    Réponses: 1
    Dernier message: 27/03/2012, 23h15
  3. Réponses: 0
    Dernier message: 26/01/2011, 20h32
  4. Réponses: 2
    Dernier message: 13/12/2010, 12h14
  5. [Plugin]Lancement d'un projet JSP sous Eclipse avec Tomcat
    Par samios dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 25/08/2004, 18h03

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