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 :

Détails sur l'instruction "import"


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Avril 2004
    Messages
    236
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 236
    Par défaut Détails sur l'instruction "import"
    Salut à tous,

    Je dispose d'un code source contenant les instructions:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    import org.apache.commons.logging.Log;
    import org.apache.commons.logging.LogFactory;
    J'ai rajouté l'archive commons-logging.jar téléchargé sur le site officiel Apache.

    Pourtant j'ai une erreur à la compilation du fichier Consistency me disant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Consistency.java:58: package org.apache.commons.logging does not exist
    Comment m'assurer que l'archive JAR est bien prise en compte lors de la compil ?
    Est-ce que je dois la renommer en org.apache.commons.logging ?

    Merci

  2. #2
    Membre émérite Avatar de remika
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    806
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 806
    Par défaut
    Il faut que tu ajoutes ton jar au CLASSPATH

    http://java.developpez.com/faq/java/...UAGE_CLASSPATH

  3. #3
    Membre éclairé
    Inscrit en
    Avril 2004
    Messages
    236
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 236
    Par défaut
    Je te remercie.

    Mais comment javac sait que org.apache.commons.logging fait référence à l'archive commons-logging.jar ?

    Merci

  4. #4
    in
    in est déconnecté
    Membre Expert Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Par défaut
    Il ne le sait pas, il parcours le classpath pour trouver les classes qui sont importées.

    si la classe n'est poas présente tu auras le droit à un joli mais néanmoins frustrant NoClassDefFoundError ...

  5. #5
    Membre éclairé
    Inscrit en
    Avril 2004
    Messages
    236
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 236
    Par défaut
    EN effet.....

    Merci pour l'info

  6. #6
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 913
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 913
    Billets dans le blog
    54
    Par défaut
    Note : Java utilise des liaisons dynamiques, le principe est exactement le meme que lorsque tu utilises des DLLs sous Windows ou des .so sous Linux; le PATH (sous Windows) ou le (LD_LIBRARY_PATH sous Linux) est parcouru a la recherche de la lib existante dans l'ordre des repertoires listes. La difference majeure est que Java ne reference pas specifiquement un jar mais un nom de classe ; la recherche s'arrete donc au permier JAR contenant la classe recherchee (et ce quelque soit le nom du JAR), dans leur ordre d'inclusion du CLASSPATH.

    Parmi les repertoires/JAR automatiquements scannes tu trouveras :
    - les rt.jar et tout ce qui est necessaire au bon fonctionnement du JRE
    - chacun des JAR contenus dans le repertoire lib/ext du JRE actif (mecanisme des extensions installees Java depuis Java 1.2)
    - chacun des JAR contenus dans le repertoire repository qui est partage entre plusieurs JRE (post-Java 6) :
    -- sous Windows %SystemRoot%\Sun\Java\lib\ext (%SystemRoot% est le repertoire d'installation de Windows dans la plupart des cas).
    -- sous Linux /usr/java/packages/lib/ext
    -- sous Solaris /usr/jdk/packages/lib/ext
    (supplement au mecanisme des extensions depuis java 6)
    - ceux que tu listera toi-meme (ou ce qui sera fait par ton IDE) dans la variable CLASSPATH ou dans ton propre JAR a toi. Les wildcards (*) sont cense etre acceptes depuis Java 6 (pas teste) ; precedement il fallait lister chaque fichier individuellement.
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

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

Discussions similaires

  1. Détails sur importation
    Par Truelove dans le forum Modélisation
    Réponses: 4
    Dernier message: 13/05/2007, 11h07
  2. [Quote] DVP quoté sur Bashfr
    Par Skyounet dans le forum La taverne du Club : Humour et divers
    Réponses: 16
    Dernier message: 26/09/2006, 18h52

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