[Eclipse] Développement de fragments de plugin (problème)

Développement de fragments de plugin (problème) [Eclipse] - Java - Programmation

Marsh Posté le 27-06-2003 à 10:52:30    

Bonjour.  
Je rencontre des problemes pour le développement de fragments de plugin.  
- quand je veux générer le .jar du fragment, Eclipse me dit qu'il ne peut  
pas trouver le fichier monFragment.jar.bin (monFragment a remplacer par l'id de mon fragment bien entendu) ; à quoi correspond ce fichier ?  
- si je tente tout de meme d'installer le fragment (le .jar est généré  
malgré cette erreur), les menus ajoutés par le fragment n'apparaissent pas (alors qu'ils apparaissent correctement lorsque je lance la plate forme d'exécution depuis la plate forme de developpement) ;  
il est dit qu'il faut copier le fragment.xml et le .jar dans le répertoire  
du plugin, c'est ce que je fais, mais sans succès.De plus, si l'on doit effectivement faire comme cela, comment faire si on veut avoir plusieurs  
fragments pour un meme plugin ?  
 
Merki d'avance...

Reply

Marsh Posté le 27-06-2003 à 10:52:30   

Reply

Marsh Posté le 01-07-2003 à 17:34:09    

swgreedo a écrit :

Bonjour.  
Je rencontre des problemes pour le développement de fragments de plugin.  
- quand je veux générer le .jar du fragment, Eclipse me dit qu'il ne peut  
pas trouver le fichier monFragment.jar.bin (monFragment a remplacer par l'id de mon fragment bien entendu) ; à quoi correspond ce fichier ?  
- si je tente tout de meme d'installer le fragment (le .jar est généré  
malgré cette erreur), les menus ajoutés par le fragment n'apparaissent pas (alors qu'ils apparaissent correctement lorsque je lance la plate forme d'exécution depuis la plate forme de developpement) ;  
il est dit qu'il faut copier le fragment.xml et le .jar dans le répertoire  
du plugin, c'est ce que je fais, mais sans succès.De plus, si l'on doit effectivement faire comme cela, comment faire si on veut avoir plusieurs  
fragments pour un meme plugin ?  
 
Merki d'avance...


 
Bon, je ne sais pas si je vais t'aider...mais bon, j'essaie!
 
Je ne suis pas sûr que ce que tu desires faire s'apparente à un fragment (modif des menus,...). Ne serais ce pas mieux si tu déclarait un plugin?
Pourquoi as tu choisis un fragment?
 

Reply

Marsh Posté le 02-07-2003 à 10:40:50    

Citation :

Bon, je ne sais pas si je vais t'aider...mais bon, j'essaie!  
 
Je ne suis pas sûr que ce que tu desires faire s'apparente à un fragment (modif des menus,...). Ne serais ce pas mieux si tu déclarait un plugin?  
Pourquoi as tu choisis un fragment?


Déja c'est sympa de répondre :)
Il semble effectivement que faire un fragment ne soit pas l'idéal pour ce que je fais (visiblement les fragments servent à apporter des modifications superficielles, comme la langue). Or dans mon cas je souhaite pouvoir étendre les fonctionnalités de mon application (ci possible sans recompiler le plugin de base) ainsi que le menu qu'elle a mis en place...
Bref j'ai essayé de créer un plugin pour mon extension. Mais je ne suis pas au bout de mes peines :
 - mon premier plugin a besoin d'appeler une classe du second (en fait un déclare dans un fichier XML le nom de la classe du plugin 2 ; le plugin 1 va lire dans ce fichier et instancie la classe déclarée)
 - le second a besoin des classes du premier
 => ca me fait une référence cyclique :(  
Et quand bien meme j'essaie de mettre le plugin 1 dans le <requires> du 2 et inversement, ca ne marche pas du tout : dans un sens comme dans l'autre les classes externes ne sont pas reconnues...

Reply

Marsh Posté le 02-07-2003 à 10:53:15    

swgreedo a écrit :

Citation :

Bon, je ne sais pas si je vais t'aider...mais bon, j'essaie!  
 
Je ne suis pas sûr que ce que tu desires faire s'apparente à un fragment (modif des menus,...). Ne serais ce pas mieux si tu déclarait un plugin?  
Pourquoi as tu choisis un fragment?


Déja c'est sympa de répondre :)
Il semble effectivement que faire un fragment ne soit pas l'idéal pour ce que je fais (visiblement les fragments servent à apporter des modifications superficielles, comme la langue). Or dans mon cas je souhaite pouvoir étendre les fonctionnalités de mon application (ci possible sans recompiler le plugin de base) ainsi que le menu qu'elle a mis en place...
Bref j'ai essayé de créer un plugin pour mon extension. Mais je ne suis pas au bout de mes peines :
 - mon premier plugin a besoin d'appeler une classe du second (en fait un déclare dans un fichier XML le nom de la classe du plugin 2 ; le plugin 1 va lire dans ce fichier et instancie la classe déclarée)
 - le second a besoin des classes du premier
 => ca me fait une référence cyclique :(  
Et quand bien meme j'essaie de mettre le plugin 1 dans le <requires> du 2 et inversement, ca ne marche pas du tout : dans un sens comme dans l'autre les classes externes ne sont pas reconnues...


 
En effet, tu ne peux pas faire de references cyclique. Par contre peux tu t'arranger pour mettre dans un autre plugin 'commun' les choses partagées par tes 2 plugins?
 

Reply

Marsh Posté le 02-07-2003 à 11:44:59    

Citation :

En effet, tu ne peux pas faire de references cyclique. Par contre peux tu t'arranger pour mettre dans un autre plugin 'commun' les choses partagées par tes 2 plugins?


C'est pas bête comme idée... A force d'avoir la tête dans mon truc je n'y avais pas pensé. J'étudie ca et je te tiens au courant  :jap:

Reply

Marsh Posté le 07-07-2003 à 10:07:38    

Salut
Pour info, voici ce que j'ai finalement fait : j'ai complètement changé l'architecture de mon appli. J'ai laissé tombé les fragments pour n'utiliser que des plugins, à savoir :
    - un plugin main pour le gros socle de mon appli
    - un plugin pour l'interface graphique (appelle le socle)
    - pour la partie extensible :
        - un plugin dépendant du plugin d'interface graphique pour l'extension des menus
        - un plugin dont dépend le plugin main (=> juste le plugin.xml à modifier) pour le code
    - un plugin shared pour les classes utilisées par tout le monde (copyright toi  :jap: )
De cette manière je n'ai plus de dépendances cycliques... Merci beaucoup de m'avoir suggéré la création d'un plugin partagé par les autres, ca m'a bien aidé.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed