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 :

GWT et jdom.jar


Sujet :

GWT et Vaadin Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 70
    Par défaut GWT et jdom.jar
    Bonjour tout le monde,
    Je galère depuis deux jour en cherchant à compiler mon projet gwt sous eclipse avec un jar externe, en fait j'utilise une classe qui utilise jdom.jar mais lors de lancement de mon appli hosted mod m'indique qu'il ne trouve pas jdom.jar en sachant que j'ai fait properties => add External Jars. sans succès
    Merci pour votre aide.

  2. #2
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Septembre 2006
    Messages
    389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2006
    Messages : 389
    Par défaut
    Slt

    Pour deployer ton projet, tu le compile en War ?

    Cdt

  3. #3
    Rédacteur
    Avatar de benwit
    Profil pro
    dev
    Inscrit en
    Septembre 2004
    Messages
    1 676
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : dev

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 676
    Par défaut
    Qu'est-ce qui ne compile pas ?

    Le code Java de la partie serveur dans eclipse ?
    Le fichier jar ne serait pas dans le classpath ?

    Ou bien

    Le code Java de la partie cliente dans GWT ? Les librairies ajoutées doivent pouvoir être compilée en javascript. Pour cela, elles doivent contenir le code source (fichier java), être dans un jar indexé (fichier index) et il doit y avoir un module (fichier gwt.xml) qui liste le/les dossiers clients ("client" par défaut)

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 70
    Par défaut
    salut,
    plus de détails, en fait j'utilise une classe coté client qui import des classe de JDom1.1.jar je les ajouter comme dans un projet java


    voilà le log d'erreurs lorsque je lance la compilation hosted mode :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Line 26: No source code is available for type org.jdom.Element; did you forget to inherit a required module?
    [ERROR] Line 28: No source code is available for type org.jdom.Document; did you forget to inherit a required module?
    [ERROR] Line 30: No source code is available for type org.sodifrance.essor.business.converter.dto.Infos; did you forget to inherit a required module?

    Il m'indique toujours de vérifier le fichier gwt.xml mais je ne sais pas comment dans ce fichier indiquer que j'appelle jdom.jar

    Merci pour vos aides !

  5. #5
    Rédacteur
    Avatar de benwit
    Profil pro
    dev
    Inscrit en
    Septembre 2004
    Messages
    1 676
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : dev

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 676
    Par défaut
    A mon humble avis, tu ne peux pas utiliser cette librairie côté client car elle n'est pas "gwt compatible" !!!

    Comme je te le disais précédemment, il ne faut pas oublier que côté client, le code (réalisé en Java pour ses qualités) est compilé en javascript !
    Non seulement, les .class (le bytecode) côté client, on s'en moque, il faut juste des .java (sources) mais en plus il faut que ces sources soient convertibles en javascript !

    Si le jdom que tu cites est le jar auquel je pense, il ne contient peut être pas son code source (je n'ai pas vérifier) mais même s'il le contenait, il faudrait créer un module gwt qui pointerait vers ce code pour que gwt soit capable de le compiler.

    Après, une librairie java est potentiellement convertible en gwt librairie tant que les librairies dont elle dépend sont également "gwt compatible" et tant que chacune d'elle se limite à la partie "gwt compatible" du jdk (il ne faut pas oublier que les classes du jdk utilisées dans la partie cliente sont in fine celles de google et pas celles de sun, et ceci même si ça ne transparait pas dans les noms de packages puisque c'est le compilateur gwt qui fait le boulo)

    Remarque : Il existe dans gwt de quoi travailler avec les fichiers xml côté client.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 70
    Par défaut
    J'ai télécharger les sources jdom puis je les ai copié dans mon projet pour les utiliser en tant que des paquage mais j'ai toujours les mêmes erreurs

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 70
    Par défaut
    Si le jdom que tu cites est le jar auquel je pense, il ne contient peut être pas son code source (je n'ai pas vérifier) mais même s'il le contenait, il faudrait créer un module gwt qui pointerait vers ce code pour que gwt soit capable de le compiler.
    Oui c'est le JDom de traitement XML Mais qu'est ce que tu veux dire par
    il faudrait créer un module gwt qui pointerait vers ce code pour que gwt soit capable de le compiler.
    Je suis débutant GWT et je ne sais même ce que cela veut dire

  8. #8
    Rédacteur
    Avatar de benwit
    Profil pro
    dev
    Inscrit en
    Septembre 2004
    Messages
    1 676
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : dev

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 676
    Par défaut
    Je ne suis pas certain que tu puisses créer un module gwt de cette librairie car j'imagine qu'elle a des dépendances vers du code non gwt compatible.

    Ceci dit, pour répondre à ta question :

    Lorsque tu as du code java que tu veux utiliser côté client, il faut qu'il soit référencer dans un module gwt.

    Exemple pour référencer le code .java du package "com.company.util"

    /sources/com/company/util/*.java où chaque fichier java a pour package com.company.util
    /sources/com/company/util.gwt.xml qui est le module gwt :

    util.gwt.xml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?xml version="1.0" encoding="UTF-8"?>
    <module>
    	<source path="util"/>
    </module>
    Ce module sera ensuite importé par d'autres modules CCC :
    ccc.gwt.xml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <module>
          <inherits name="com.google.gwt.user.User"/>
          <inherits name="com.company.util"/>
          <entry-point class="com.otherCompany.CCC"/>
    </module>
    Bien entendu, le code de "com.company.util" devra être dans le path des sources du module CCC (via un fichier .jar par exemple)

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 70
    Par défaut
    Merci pour tes réponses ,
    J'essayerai ça maintenant, mais le problème n'est présent que coté client, si je fait les traitements coté serveur il y aura pas de problème
    bref :
    Coté Serveur on peux faire full java qu'on veux ??

  10. #10
    Rédacteur
    Avatar de benwit
    Profil pro
    dev
    Inscrit en
    Septembre 2004
    Messages
    1 676
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : dev

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 676
    Par défaut
    Oui, côté serveur, c'est du "vrai" java, tu utilises tous les jar que tu veux.

    Remarque : ce que je t'ai expliqué côté client, c'est pour te faire des librairies de code utilisables dans différents modules.

    Tu peux aussi avoir un seul module et y référencer plusieurs dossiers/packages de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <module>
          <inherits name="com.google.gwt.user.User"/>
          <source path="util"/>
          <source path="autre"/>
          <source path="client"/> <!-- Celui par défaut si non déclaré explicitement -->
          <entry-point class="com.otherCompany.CCC"/>
    </module>

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 70
    Par défaut
    Merci infiniment

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 70
    Par défaut
    Salut,
    Je réouvre cette discussion libellée résolue, car j'ai un petit souci encore.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    benwit a dit :
     
    Oui, côté serveur, c'est du "vrai" java, tu utilises tous les jar que tu veux.
    En fait j'utilise ce JDom 1.1 Pour faire du xml coté serveur mais ça compile pas et j'ai ajouté le jar au classpath de mon projet et ça marche pas, le compilateur ne trouve pas les classes de cette jar.
    Alors j'ai joué sur l'ordre des jars encore ça marche pas. j'ai inclus les sources de JDom et maintenant ça marche.
    Alors imaginons un projet qui utilise 2 ou 3 jars on doit inclure les sources de ces trois jars ça va devenir vite barbare, surement il y a une solution mais je ne la trouve pas.

    Merci pour vos aides

  13. #13
    Rédacteur
    Avatar de benwit
    Profil pro
    dev
    Inscrit en
    Septembre 2004
    Messages
    1 676
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : dev

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 676
    Par défaut
    Dans une application java serveur, les sources de tes classes ne sont pas obligatoire.
    Les classes sont cherchées dans le dossier classes du dossier WEB-INF de la webapp et dans les .jar des librairies se trouvant dans le dossier lib du dossier WEB-INF de la webapp.

    Depuis la version 1.6., GWT respecte cette structure d'application web et c'est plus simple pour s'y retrouver.

    Si jdom.jar se trouve dans le dossier lib et s'il est dans le classpath, il n'y a pas de raison que cela ne compile pas.

  14. #14
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 70
    Par défaut
    Salut,
    Encore merci c'est bien ça ce qui manquais.

  15. #15
    Membre éclairé

    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    766
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 766
    Par défaut
    Hello,
    Je suis également en train de me mettre au GWT, à partir de sources déjà utilisée avec JDOM, ou Sax.

    Je suppose qu'en terme de performances, le xml fourni par Google explose les autres, ce serait purement logique.

    Sax se trouve dans la plupart des JDK - et sera peut-être gwt-compatible , mais GWT va t-il le traduire gentiment en javascript performant ?

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 08/10/2009, 16h53
  2. GWT : Parser du XML sur le client avec JDOM ?
    Par sz1708 dans le forum GWT et Vaadin
    Réponses: 4
    Dernier message: 22/10/2008, 10h10
  3. Eclipse ne détecte pas les jars "jdom" que j'ai ajouté
    Par samia13 dans le forum Eclipse Java
    Réponses: 6
    Dernier message: 14/11/2007, 18h10
  4. [JAR]Probleme compilation avec jdom
    Par ronaldgis dans le forum Eclipse Java
    Réponses: 4
    Dernier message: 04/08/2004, 11h31

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