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

Eclipse Platform Discussion :

[Eclipse Plug-in] Accéder aux templates Velocity


Sujet :

Eclipse Platform

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Mars 2009
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 1
    Points : 1
    Points
    1
    Par défaut [Eclipse Plug-in] Accéder aux templates Velocity
    Bonjour,

    J'ai développé un plugin sous Eclipse RCP 3.5.2 avec le JDK 1.5, qui utilise Velocity 1.5 pour parser des fichiers .vm, dans des fichiers .java.

    Ce programme utilise une fonction qui lui permet d'uploader le path des templates Velocity.

    Lorsque j'exécute mon projet sur Eclipse, ça marche parfaitement comme application, en ajoutant les libraries common_lang et common_collection.
    Par contre, lorsque j'éxecute le projet en tant que plugin dans Eclipse il ne peut pas charger les fichiers templates .vm.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    InputStream stream = getClass().getClassLoader().getResourceAsStream("/ressources/"+getTemplateName());
    Quelqu'un saurait-il m'expliquer ce qui ne va pas ?

    Merci d'avance pour votre aide.

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 33
    Points : 38
    Points
    38
    Par défaut
    Citation Envoyé par rayene Voir le message
    Bonjour,

    J'ai développé un plugin sous Eclipse RCP 3.5.2 avec le JDK 1.5, qui utilise Velocity 1.5 pour parser des fichiers .vm, dans des fichiers .java.

    Ce programme utilise une fonction qui lui permet d'uploader le path des templates Velocity.

    Lorsque j'exécute mon projet sur Eclipse, ça marche parfaitement comme application, en ajoutant les libraries common_lang et common_collection.
    Par contre, lorsque j'éxecute le projet en tant que plugin dans Eclipse il ne peut pas charger les fichiers templates .vm.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    InputStream stream = getClass().getClassLoader().getResourceAsStream("/ressources/"+getTemplateName());
    Quelqu'un saurait-il m'expliquer ce qui ne va pas ?

    Merci d'avance pour votre aide.
    Je pense que ton problème vient de ton classloader.
    Afin de vérifier ça, mets un point d'arrêt sur la ligne que tu as cité et regarde un peu ce que le classLoader a "dans le bide".
    Il y a de fortes chances pour que le "root" de celui-ci ne pointe pas vraiment où tu l'espères.

    Je pense que ça marcherait mieux si tu utilisais le classLoader de ton plugin de cette façon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    final Bundle bundle = Platform.getBundle(pluginId);
    final InputStream propStream = FileLocator.openStream(bundle, "/ressources/"+getTemplateName(), false);
    pluginId est l'id de ton plugin tel que défini dans le MANIFEST.MF de celui-ci.

  3. #3
    Membre expérimenté
    Avatar de azerr
    Homme Profil pro
    Ingénieur Etude JEE/Eclipse RCP
    Inscrit en
    Avril 2006
    Messages
    942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur Etude JEE/Eclipse RCP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 942
    Points : 1 464
    Points
    1 464
    Par défaut
    Bonjour rayene,

    Je ne vais pas te donner de réponse à ton problème, mais peut etre que que mon projet que je suis en train de developper pourrait t'interesser. En effet le but de mon projet est de pouvoir sélectionner une classe Java dans le Package Explorer et ensuite avoir un menu contextuel comme -> Generate DAO qui permet de générer la DAO de la classe Java (ex Bean) sélectionné. Mon projet est très generique et il peut utiliser n'importe quel moteur de template (Acceleo2, Acceleo3, JET, Freemarker, Velocity....).

    Je vais aussi gérer le merge du code généré (pour ne pas écraser le code utilisateur qu'on pourrait metre dans la DAO (Acceleo2/3 gère ca nativement, mais avec JMerge on pourra gérér ca pour n'importe quel moteur de template).

    Si jamais ce projet t'intéresse je pourrais t'en parler plus et je pourrais implementer le moteur Velocity (aujourd'hui seul Acceleo2 est implementé).

    Bonne journée

    Angelo

Discussions similaires

  1. Accéder aux ressources d'un autre projet dans Eclipse
    Par Patrice Henrio dans le forum Eclipse Java
    Réponses: 11
    Dernier message: 09/04/2013, 14h10
  2. Eclipse GMF : accéder aux objets en mémoire.
    Par rodbeck dans le forum Eclipse Platform
    Réponses: 9
    Dernier message: 08/12/2008, 14h04
  3. [USB] [JNI] Utiliser JNI pour accéder aux ports USB
    Par Javatator dans le forum Entrée/Sortie
    Réponses: 5
    Dernier message: 27/10/2005, 06h40
  4. Réponses: 9
    Dernier message: 03/12/2004, 11h35
  5. Avis aux experts : accéder aux dimensions d'un tableau.
    Par poulpi dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 25/11/2004, 09h09

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