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

Langage Java Discussion :

2 Jars cohabitant dans un classpath


Sujet :

Langage Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 50
    Points : 34
    Points
    34
    Par défaut 2 Jars cohabitant dans un classpath
    Bonjour,

    J'ai un petit soucis en utilisant 2 jars différents dans mon classpath
    1er jar -->subscription.jar
    2eme jar -->payment.jar

    J'ai une appli qui permet de faire des paiements avec différents moyens :
    A-Carte bleu
    B-Paypal

    Le paiement par Carte Bleu utilise un constructeur sur le premier jar(subscription.jar)
    Le paiement par Paypal utilise un autre constructeur sur le second jar(payment.jar)

    Or dans le code de ces 2 différents constructeurs il y a un appel à une classe qui a le même nom et qui se trouve dans le même package dans les 2 jars.

    Cela génére donc un conflit et selon que je mette un jar ou l'autre en premier dans le classpath, cela fonctionne pour un moyen de paiment ou l'autre.

    J'aimerai donc savoir si vous avez une idée pour forcer un jar à utiliser uniquement les classes de son propre jar.
    Ainsi dans mon cas je n'aurai plus de conflits malgré les noms de classes identiques.

    NB: je n'ai pas le droit de modifier ces jars, je dois les utiliser tel quel

    Merci d'avance.

  2. #2
    Membre expert
    Avatar de natha
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 346
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 346
    Points : 3 083
    Points
    3 083
    Par défaut
    Ah ben là t'es mal, je ne suis pas sûr qu'il y ai une solution.
    Si les 2 jars sont dans le classpath, alors c'est la classe du premier qui aura la priorité. Ils viennent d'où tes jars ? Si les 2 classes au même nom/package ont un code différent et que ça a été produit par le même service, alors il y a un grave problème de concept.
    Comment ça ? La réponse à ton problème n'est ni dans la faq, ni dans les tutos, ni dans sources ??? Etonnant...
    De la bonne manière de poser une question (et de répondre).
    Je ne fais pas de service par MP. Merci (...de lire les règles...).
    Ma page dvp.com

  3. #3
    Membre expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Points : 3 675
    Points
    3 675
    Par défaut
    +1 t'es dans la M....!

    Il y a peut-être un moyen en créant plusieurs classloaders chargés d'explorer chacun des jars, mais je n'en suis vraiment par sûr, et même si c'était possible, ce serait d'un haut niveau de complexité, et donc vraiment pas recommandé....

    va falloir forcer un des jar à être recompilé...
    "Le plug gros problème des citations trouvées sur internet, c'est qu'on ne peut jamais garantir leur authenticité"

    Confucius, 448 av. J-C

  4. #4
    Membre confirmé Avatar de ngpub
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    449
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 449
    Points : 505
    Points
    505
    Par défaut
    Pour rester sur l'idée de Pill_S, de l'ajout d'un jar via un ClassLoader.
    Il y a très longtemps, j'ai utilisé URLClassLoader, et dans mon souvenir ça simplifie bien les choses.

Discussions similaires

  1. Ajouter un jar dans le classpath sous Linux/Unix
    Par AbA2L dans le forum Débuter avec Java
    Réponses: 4
    Dernier message: 23/03/2015, 19h05
  2. fichier jar dans le classpath
    Par sofiene D dans le forum Windows XP
    Réponses: 1
    Dernier message: 16/10/2009, 23h36
  3. Réponses: 10
    Dernier message: 03/10/2007, 18h07
  4. Réponses: 1
    Dernier message: 13/07/2007, 09h17
  5. ajouter des jars dans le classpath d'execution
    Par inter_amine dans le forum Hibernate
    Réponses: 7
    Dernier message: 12/01/2007, 13h51

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