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 :

Dossier "public" absent du classpath


Sujet :

GWT et Vaadin Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2009
    Messages : 22
    Par défaut Dossier "public" absent du classpath
    Bonjour !

    Je suis nouveau sur GWT et ai donc suivi quelques instructions vues dans des tutoriels pour créer mon projet GWT dans Eclipse à l'aide du plugin approprié. Seulement, pour ce que je veux faire je dois utiliser des données (fichiers .XML) que je devrais apparemment déposer dans le dossier "public", mais ce dossier n'existe pas et n'a apparemment pas été créé lors de la génération automatique de mon projet.

    Ma question est donc : Comment créer ce dossier et l'ajouter dans le classpath?

    Merci d'avance pour l'aide que vous pourrez m'apporter !

  2. #2
    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 installation classique, pour le module com.company.MonModule :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    sources/com/company/client/*.java
    sources/com/company/server/*.java
    sources/com/company/public/* (les ressources)
    sources/com/company/MonModule.gwt.xml
    Comme tu l'auras compris, il faut créer un simple dossier public au même niveau que ton dossier client.

    Tu peut mettre dans le fichier xml du module l'emplacement des sources "client" comme l'emplacement des ressources "public" mais je crois que c'est facultatif si tu as un unique dossier client nommé "client" et un unique dossier public nommé "public" au même niveau que le fichier xml du module.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <module>
          <inherits name='com.google.gwt.user.User'/>
     
          <source path="client"/>
          <public path="public"/>
     
          <entry-point class="com.company.client.MonModule"/>
    </module>

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2009
    Messages : 22
    Par défaut
    Merci pour ton aide!

    C'est exactement ce que j'ai fait avant de demander de l'aide sur le forum. Mais j'ai eu l'erreur "FILE NOT FOUND" alors que mon dossier public était bien créé, sans modification du .gwt.xml (car cela est implicite).

    J'ai "résolu" le problème : le dossier dédié au stockage des données (.css, .xml, images...) n'est non pas le dossier public mais le dossier war.

    Auparavant j'utilisais une version antérieure de GWT, dont le dossier de dépôt était public, mais cela a semble-t-il changé depuis un certain temps et le dossier dédié implicitement (sans ajout dans le classpath) est donc maintenant le dossier war.

    Je précise : GWT 1.6.4 et Eclipse + Plugin GWT

  4. #4
    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
    Le dossier war dans la nouvelle structure est le dossier de déploiement de ton application gwt et effectivement, tu peux logiquement y mettre des ressources.

    Le dossier "public" fonctionne aussi en 1.6 dans un module "librairie" qui a également des ressources (je ne fabrique pas de war pour ma librairie gwt).

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2009
    Messages : 22
    Par défaut
    Donc l'utilisation d'un dossier public comme dit précédemment semble plus "propre".
    J'ai donc créé un dossier public dans mon 'com.monProjet'. Seulement, j'ai toujours l'erreur FILE NOT FOUND. Pourquoi?

    Pourtant les sources JS de Ext sont, elles, bien trouvées dans ce même dossier!

  6. #6
    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
    Non, je ne dis pas que c'est plus propre. C'est juste que ça fonctionne pour une de mes lib. J'ai du copier les ressources de Gxt dans ce dossier à la main.

    Tu n'as pas plus de détail pour ton erreur ?
    S'il trouve les ressources de Ext dans ton dossier public, il est clair que ce n'est donc pas le dossier public qu'il ne trouve pas. Ce ne serait donc pas un autre fichier dedans ? Tu n'as pas une erreur 404 de Jetty en Hosted Mode ?

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

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