Affichage des articles dont le libellé est GWT. Afficher tous les articles
Affichage des articles dont le libellé est GWT. Afficher tous les articles

vendredi 19 août 2011

GWT et Eclipse : Unable to find a module

Problème :

Lors du lancement de mon application, j'ai l'erreur suivante :


Loading modules
   de.toolforge.googlechartwrapper.googlechartwrapper
      [ERROR] Unable to find 'de/toolforge/googlechartwrapper/googlechartwrapper.gwt.xml' on your classpath; could be a typo, or maybe you forgot to include a classpath entry for source?
[ERROR] shell failed in doStartup method

Cependant, je n'ai aucune référence à ce module dans mon code (C'est un module que j'ai effacé).

Solution :

Run -> Run Configurations
Puis il faut aller dans votre application google dans l'onglet Arguments.

Il faut ensuite effacer le module qui pose problème.Dans mon cas :   de.toolforge.googlechartwrapper.googlechartwrapper

jeudi 18 août 2011

GWT : Erreur de compilation avec une Map



Problème :

Dans votre code, vous déclarez Map<Integer, Integer> map = new HashMap<Integer, Integer>
et lors de la compilation vous avez l'erreur suivante :

         [ERROR] Line 23: No source code is available for type com.google.gwt.dev.util.collect.HashMap<K,V>; did you forget to inherit a required module?


Solution :

Les collections du tpe Map fonctionne avec des Objects.Or la class Object n'est pas serializable.
Il faut donc créer une classe qui va contenir votre map en lui passant @gwt.typeArgs <java.lang.Integer,java.lang.Integer>
dans les commentaires pour définir ce que va contenir votre map :


public class ChartData implements IsSerializable {


 /**
  * This field is a Map that must always contain Strings as its keys and
  * values.
  * 
  * @gwt.typeArgs <java.lang.Integer,java.lang.Integer>
  */
 public Map data;
 
 public ChartData() {
 }
}


Ensuite vous pouvez utiliser votre map comme ceci :

CharData charData = new CharData();
charData.data.put(12,13);

Référence :
http://www.gwtapps.com/doc/html/com.google.gwt.doc.DeveloperGuide.RemoteProcedureCalls.SerializableTypes.html

mardi 16 août 2011

[WARN] Candidate class for JDOQL single-string query (Class) could not be resolved Class



Problème :

[WARN] Candidate class for JDOQL single-string query (User) could not be resolved User

Solution :

Je n'avais pas encore instancié ma classe User.En fait, J'appelais ma méthode avec une fonction statique comme ceci :
User.myMethod();

Et dans my Method, je faisais ma requête :


PersistenceManager pm = PMF.get().getPersistenceManager();
Query query = pm.newQuery(User.class);


Pour résoudre le problème, j'ai fait ceci :


User myUser = new User();
myUser.myMethod(); // myMethod n'est plus statique

vendredi 12 août 2011

Comment logger avec GWT ?


Dans votre fichier test.gwt.xml file, il faut ajouter :

 <inherits name="com.google.gwt.logging.Logging"/>
  <set-property name="gwt.logging.logLevel" value="INFO"/>          # To change the default logLevel
  <set-property name="gwt.logging.enabled" value="TRUE"/> 

Dans votre fichier java :

  • Import du logger :

import java.util.logging.Logger;

  • Déclaration de la variable logger :

private static final Logger logger = Logger.getLogger(WeightManager.class.getName());

  • Appel des méthodes de logs :

logger.info("========>TEST !!!!");




Remarque : Cela fonctionne uniquement dans la partie client.Je ne sais pas encore comment faire des logs dans la partie server.

mardi 26 janvier 2010

GWT : Qu'est ce que Google App Engine

Si vous voulez avoir plus de détails sur Google App Engine, il y a un article sur le magazine gratuit de developpez.com : magazine

vendredi 4 décembre 2009

GWT [ERROR] No source code is available for ...GWTTestCase

Problème :


Vous rencontrez l'erreur suivante :
[ERROR] Line 11: No source code is available for type com.google.gwt.junit.client.GWTTestCase;
did you forget to inherit a required module?



Solution
:

Dans le fichier de module (*.gwt.xml), il suffit d'ajouter :

"< name="com.google.gwt.junit.JUnit">"

vendredi 27 novembre 2009

Eclipse GWT_EXTERNAL_BROWSER

Problème :


Lorsque l'on compile en mode "hosted", on a l'erreur suivante :
[ERROR] Unable to find a default external web browser

[WARN] Try setting the environment variable GWT_EXTERNAL_BROWSER to your web browser executable before launching the GWT shell



Solution :



Dans Eclipse, il suffit de faire Run -> Run Configurations.Ensuite, on choisit le projet google et on
va à l'onglet Environement.Ensuite, on ajoute notre variable et on l'initialise à
GWT_EXTERNAL_BROWSER avec la valeur firefox.





vendredi 20 novembre 2009

GWT Ressources statiques (fichier css, js...) et Répertoire public


Problème


Je commence l'apprentissage de GWT et le premier problème que j'ai rencontré concerne les ressources statiques.Où faut-il les mettre ? Où mettre les css,js ... ? Sur le web, j'ai touvé qu'il fallait les mettre dans le répertoire public. Où mettre le répertoire public ?


Solution


Il faut créer un répertoire qui se nomme public au même niveau que le fichier *.gwt.xml.
Dans mon exemple, c'est dans src/com/google/gwt/sample/stockwatcher que l'on crée le répertoire public (cf image ci-dessous).

Ensuite à l'exécution il sera automatiquement copié dans le war.Il suffira alors de modifier le fichier html pour lui indiquer où sont les ressources :


"<"link type="text/css" href="stockwatcher/css/start/jquery-ui-1.7.2.custom.css rel="Stylesheet"">"
"<"script type="text/javascript" language="javascript" src="stockwatcher/js/jquery-1.3.2.min.js""/" "<"script type="text/javascript" language="javascript" src="stockwatcher/js/jquery-ui-1.7.2.custom.min.js""/>"

Voici un exemple concret (cliquez pour agrandir) :