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 :

Appel de plug-in


Sujet :

Eclipse Platform

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2009
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 51
    Points : 22
    Points
    22
    Par défaut Appel de plug-in
    Bonjour,

    Ma demande est très simple, je souhaiterais savoir comment peut-on, à partir d'une classe d'un projet A, appeler une classe dans le package par defaut d'un projet B ?

    (J'ai déjà effectué un clic droit sur le projet A, properties, et ajouter mon projet B, mais je récupère pas ma classe dans mon projet A...)

    Merci d'avance pour votre aide

  2. #2
    Membre averti
    Avatar de DaveShot
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2008
    Messages
    238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2008
    Messages : 238
    Points : 384
    Points
    384
    Par défaut
    Bonjour,

    il faut que dans le manifest de ton plugin A tu aies une dépendance vers le plugin B, afin de pouvoir utiliser ses classes. Cela se fait dans l'onglet Dependencies du fichier manifest, en ajoutant les plugins requis.

    David.
    - N'hésitez pas à consulter les liens vers les FAQs, les cours et tutoriels -

    Daveshot

  3. #3
    Membre expert
    Avatar de Gueritarish
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2007
    Messages
    1 800
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

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

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 800
    Points : 3 919
    Points
    3 919
    Par défaut
    Salut,

    Il faut aussi que ton plug-in B "affiche" les classes que tu souhaites utiliser. Pour ce faire, tu vas dans le MANIFEST.MF de ton plug-in B, et là, tu cliques sur l'onglet "Runtime", tu cliques sur le bouton "Add" et là, tu ajoutes les packages que tu souhaites "afficher". Ces packages seront ensuite accessibles à tout les plug-ins qui vont dépendre de B.

    Voilà, à+
    Gueritarish
    Pas de questions technique par MP, les forums sont là pour ça.

  4. #4
    Membre à l'essai
    Inscrit en
    Juin 2009
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 51
    Points : 22
    Points
    22
    Par défaut
    Citation Envoyé par Gueritarish Voir le message
    Salut,

    Il faut aussi que ton plug-in B "affiche" les classes que tu souhaites utiliser. Pour ce faire, tu vas dans le MANIFEST.MF de ton plug-in B, et là, tu cliques sur l'onglet "Runtime", tu cliques sur le bouton "Add" et là, tu ajoutes les packages que tu souhaites "afficher". Ces packages seront ensuite accessibles à tout les plug-ins qui vont dépendre de B.

    Voilà, à+
    Gueritarish
    Le problème c'est que je n'ai pas de manifest dans mon projet B...

  5. #5
    Membre expert
    Avatar de Gueritarish
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2007
    Messages
    1 800
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

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

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 800
    Points : 3 919
    Points
    3 919
    Par défaut
    Attends mais ton projet B c'est pas un plug-in?
    Ta question n'est pas vraiment claire du coup. Tu souhaites juste appeler une classe contenu dans un projet Java à partir d'un plug-in?
    Si c'est le cas, il te suffit de faire un jar de ton projet B, et ensuite d'ajouter une référence vers celui-ci dans le MANIFEST.MF de ton projet A dans la partie Runtime > Classpath. Tu cliques sur "Add..." et tu sélectionnes le jar.

    Voilà, à+
    Gueritarish
    Pas de questions technique par MP, les forums sont là pour ça.

  6. #6
    Membre à l'essai
    Inscrit en
    Juin 2009
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 51
    Points : 22
    Points
    22
    Par défaut
    J'ai retrouvé mon manifest de mon projet B en l'ayant converti ...c'est OK !

  7. #7
    Membre à l'essai
    Inscrit en
    Juin 2009
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 51
    Points : 22
    Points
    22
    Par défaut
    Citation Envoyé par Gueritarish Voir le message
    Salut,

    Il faut aussi que ton plug-in B "affiche" les classes que tu souhaites utiliser. Pour ce faire, tu vas dans le MANIFEST.MF de ton plug-in B, et là, tu cliques sur l'onglet "Runtime", tu cliques sur le bouton "Add" et là, tu ajoutes les packages que tu souhaites "afficher". Ces packages seront ensuite accessibles à tout les plug-ins qui vont dépendre de B.

    Voilà, à+
    Gueritarish
    Dans l'onglet dépendance du manifest de mon projet A, j'ai bien ajouté mon plug-in dans "plug-in requis" mais dans package importé je ne trouve pas mes packages

    Dans l'onglet environnement d'execution du manifest de mon projet B, tous mes packages sont bien présent mais j'obtiens le message d'erreur suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
     
    !SESSION 2010-10-04 11:25:44.187 -----------------------------------------------
    eclipse.buildId=unknown
    java.version=1.6.0_21
    java.vendor=Sun Microsystems Inc.
    BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=fr_FR
    Framework arguments:  -application Exemple.application
    Command-line arguments:  -application Exemple.application -data C:\Documents and Settings\Vincent\Bureau\projets\RAP/../runtime-Exemple.application -dev file:C:/Documents and Settings/Vincent/Bureau/projets/RAP/.metadata/.plugins/org.eclipse.pde.core/Exemple.application/dev.properties -os win32 -ws win32 -arch x86 -consoleLog
     
    !ENTRY org.eclipse.osgi 2 0 2010-10-04 11:25:45.296
    !MESSAGE Un ou plusieurs bundles ne sont pas résolus car les contraintes principales suivantes ne le sont pas :
    !SUBENTRY 1 org.eclipse.osgi 2 0 2010-10-04 11:25:45.296
    !MESSAGE Le bundle initial@reference:file:../../Documents and Settings/Vincent/Bureau/projets/Source/ n'a pas été résolu.
    !SUBENTRY 2 Exemple 2 0 2010-10-04 11:25:45.296
    !MESSAGE Le bundle requis Hibernate_1.0.0 est manquant.
     
    !ENTRY org.eclipse.osgi 2 0 2010-10-04 11:25:45.296
    !MESSAGE La liste suivante comprend tous les bundles non résolus, recherchez la cause principale dans la première entrée (si elle existe) :
    !SUBENTRY 1 org.eclipse.osgi 2 0 2010-10-04 11:25:45.296
    !MESSAGE Le bundle Exemple_1.0.0.qualifier [120] n'a pas été résolu.
    !SUBENTRY 2 Exemple 2 0 2010-10-04 11:25:45.296
    !MESSAGE Un bundle en option org.eclipse.rap.ui_1.3.0 est manquant.
    !SUBENTRY 2 Exemple 2 0 2010-10-04 11:25:45.296
    !MESSAGE Le bundle requis Hibernate_1.0.0 est manquant.
     
    !ENTRY org.eclipse.osgi 2 0 2010-10-04 11:25:45.312
    !MESSAGE Un ou plusieurs bundles ne sont pas résolus car les contraintes principales suivantes ne le sont pas :
    !SUBENTRY 1 org.eclipse.osgi 2 0 2010-10-04 11:25:45.312
    !MESSAGE Le bundle initial@reference:file:../../Documents and Settings/Vincent/Bureau/projets/Source/ n'a pas été résolu.
    !SUBENTRY 2 Exemple 2 0 2010-10-04 11:25:45.312
    !MESSAGE Le bundle requis Hibernate_1.0.0 est manquant.
     
    !ENTRY org.eclipse.osgi 2 0 2010-10-04 11:25:45.312
    !MESSAGE La liste suivante comprend tous les bundles non résolus, recherchez la cause principale dans la première entrée (si elle existe) :
    !SUBENTRY 1 org.eclipse.osgi 2 0 2010-10-04 11:25:45.312
    !MESSAGE Le bundle Exemple_1.0.0.qualifier [120] n'a pas été résolu.
    !SUBENTRY 2 Exemple 2 0 2010-10-04 11:25:45.312
    !MESSAGE Un bundle en option org.eclipse.rap.ui_1.3.0 est manquant.
    !SUBENTRY 2 Exemple 2 0 2010-10-04 11:25:45.312
    !MESSAGE Le bundle requis Hibernate_1.0.0 est manquant.
     
    !ENTRY org.eclipse.osgi 4 0 2010-10-04 11:25:45.312
    !MESSAGE Erreur liée à l'application
    !STACK 1
    java.lang.RuntimeException: Lapplication Exemple.application' ne se trouve pas dans le registre. Les applications suivantes sont disponibles : org.eclipse.equinox.app.error.
    	at org.eclipse.equinox.internal.app.EclipseAppContainer.startDefaultApp(EclipseAppContainer.java:248)
    	at org.eclipse.equinox.internal.app.MainApplicationLauncher.run(MainApplicationLauncher.java:29)
    	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
    	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
    	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369)
    	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    	at java.lang.reflect.Method.invoke(Unknown Source)
    	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:619)
    	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574)
    	at org.eclipse.equinox.launcher.Main.run(Main.java:1407)
    	at org.eclipse.equinox.launcher.Main.main(Main.java:1383)

  8. #8
    Membre à l'essai
    Inscrit en
    Juin 2009
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 51
    Points : 22
    Points
    22
    Par défaut
    En cherchant, j'ai pu trouver la solution. Mes deux plug-in communiquent bien mais le plugin de mon projet B doit renvoyer un résultat de type iterator à mon plug A.

    Le problème est que lorsque je fait un return de ma list et que dans le main de mon projet B j'indique pas un iterator et non un list ilme donne le message :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    java.lang.NoSuchMethodError: main Exception in thread "main"
    Je pense que cela signifie qu'il ne me trouve pas le main à l'execution. Comment puis-je retourner un iterator sur mon autre projet ?

  9. #9
    Membre à l'essai
    Inscrit en
    Juin 2009
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 51
    Points : 22
    Points
    22
    Par défaut
    C'est bon j'ai réussi à trouver...merci à tous

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

Discussions similaires

  1. [VB6] [Langage] VB6 et les appels de dll
    Par Dave63 dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 16/01/2003, 18h20
  2. Appeler une fonction avec/sans parenthèses
    Par haypo dans le forum Algorithmes et structures de données
    Réponses: 8
    Dernier message: 29/12/2002, 18h48
  3. Réponses: 4
    Dernier message: 07/12/2002, 07h34
  4. Appel de procédure...
    Par AmaX dans le forum Langage
    Réponses: 4
    Dernier message: 24/11/2002, 17h48
  5. appel de fichier d'Aide
    Par Atrebate62 dans le forum Composants VCL
    Réponses: 5
    Dernier message: 24/09/2002, 14h13

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