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 Java Discussion :

Imbrication croisée de projets


Sujet :

Eclipse Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    522
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 522
    Points : 522
    Points
    522
    Par défaut Imbrication croisée de projets
    Salut,

    Dans le cadre d'un projet, j'ai besoin de faire une imbrication croisée de projets.
    Quand je le fais, ça ne pose pas de problème à l'exécution, mais ça met les projets en erreur dans l'IDE.
    Qq'un a une solution ?

    Mes 2 projets sont un projet "couche métier" qui doit appelé un projet "gestionnaire de tâches". Et le projet "gestionnaire de tâches" a besoin du projet "couche métier" également ...

  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
    Salut,
    tu as un conflit du fait que tes projets dépendent l'un l'autre.
    Si tu as un projet B qui dépend d'un projet A
    Si tu as un projet C qui dépend d'un projet A
    Si tu as un projet C qui dépend d'un projet B

    Il faut que tu ait à la place :
    un projet B qui dépend d'un projet A
    un projet C qui dépend d'un projet B
    et ton projet A doit réexporter ces dépendances pour qu'elles soient visibles par ceux qui dépendent de lui.
    Pour cela, utilise visibility:=reexport dans le manifest de ton projet.
    - N'hésitez pas à consulter les liens vers les FAQs, les cours et tutoriels -

    Daveshot

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    522
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 522
    Points : 522
    Points
    522
    Par défaut
    J'ai bien compris que le problème était lié à un conflit de dépendance de projets, mais je voulais savoir s'il y avait moyen de faire ce genre de choses justement.
    A qui dépend de B, et B qui dépend de A.

    Sachant que A accède à une partie B1 du projet B,
    que B accède à une partie A1 du projet A,
    A1 et B1 sont des sous-ensembles exclusifs. Aucun risque de voir boucler les choses.

    J'ai quand même une solution : rédécouper le projet A en 2 projets : A et C, de sort d'avoir A qui dépend de B et C, et B qui dépend de C. Mais je ne préfère pas car A et C seraient deux projets différents pour un fonctionnel comun (DAO).

    Je ne sais pas si je suis super clair ...

  4. #4
    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,
    en fait il faudrait que dans ton troisième plugin C tu récupères le code commun de tes plugins A et B, de façon à ce qu'il soit en quelque sorte une toolkit. Les actions particulières ne se retrouveraient que dans A et B.
    - N'hésitez pas à consulter les liens vers les FAQs, les cours et tutoriels -

    Daveshot

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    333
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 333
    Points : 295
    Points
    295
    Par défaut
    si tu souhaite garder tes 2 projets, je ne connais qu'une seule solution :
    - A dépend de B
    - export de A en .jar
    - B pointe vers le jar

    il faut bien faire attention à réexporter le jar de façon régulière

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    522
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 522
    Points : 522
    Points
    522
    Par défaut
    Merci pour vos réponses. J'ai opté pour la solution de DaveShot qui fonctionne très bien.

    Exporter un JAR de façon régulière, à tous les cas y'aura des oublis, donc pas la peine.

    A+

  7. #7
    Membre émérite Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 021
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 021
    Points : 2 278
    Points
    2 278
    Par défaut A cycle was detected when generating the classpath
    Bonjour,
    je viens vers vous car j'ai le même problème de dépendances de plugins. Pour faire simple : A a besoin de B et B a besoin de A.
    Lors de l'export d'un product j'ai le message d'erreur : "A cycle was detected when generating the classpath".

    Si je comprends bien les 2 solutions pour pouvoir exporter ce product sont :

    - passer par un export de .jar qu'il faut mettre à jour à chaque export du product
    - fusionner A et B

    c'est bien cela ?

    Ce que je ne comprends pas c'est que l'une des utilités de découper un projet en plugins, il me semble, est de cibler les mises à jour via le système de màj de la RCP et de diviser ces màjs par plugin, est-ce que je me trompe ? (la modification de B permettra de faire une màj uniquement de B)
    Donc la dépendance réciproque ne me semble absolument pas aberrante conceptuellement, est-ce que j'aurais manqué quelque chose ? Si on fusionne A et B, la modification de code dans ce qui était avant le plugin B, provoquera une màj de la totalité du projet ?
    Savez-vous s'il y a une option sur un Validator ou quelque chose du type dans Eclipse afin qu'il ne vérifie pas cela avant l'export d'un product ?

    Le schéma réel du projet est :
    - abstraction A a besoin de projet P
    - implémentation A1 a besoin de A (et de P par réexport de dépendances)
    - implémentation A2 a besoin de A (et de P par réexport de dépendances)
    - projet P a besoin de A1 et A2
    mais finalement le problème réduit à une dépendance de type A <-> B revient au même, je pense.

    Ce que je me demande également c'est si Eclipse ne pourrait pas gérer cela tout seul, théoriquement, lors de l'export ? Étant donné qu'il arrive à compiler une appli comportant des cycles et par ailleurs qu'il gère très bien le cas des dépendances binaires avec "Allow for binary cycles in target platform" lors d'un export de product, qu'en pensez-vous ? Mais j'avoue n'avoir pas très bien compris ce qu'il se passe lors de l'export d'un product.

    Merci d'avance pour l'aide apportée.
    Vive les roues en pierre

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

Discussions similaires

  1. Qu'est ce qu'un grand projet ?
    Par Geronimo dans le forum Débats sur le développement - Le Best Of
    Réponses: 62
    Dernier message: 04/04/2013, 14h52
  2. [Delphi] Association composants-projet
    Par Pierre Castelain dans le forum Composants VCL
    Réponses: 6
    Dernier message: 31/07/2002, 16h20
  3. Parametrage des options de projet
    Par ares7 dans le forum EDI
    Réponses: 7
    Dernier message: 22/07/2002, 15h33
  4. Réponses: 6
    Dernier message: 21/06/2002, 14h48
  5. Les fichiers d'un projet
    Par Manolo dans le forum C++Builder
    Réponses: 4
    Dernier message: 07/05/2002, 17h51

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