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

avec Java Discussion :

Emplacement des packages


Sujet :

avec Java

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2013
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Décembre 2013
    Messages : 73
    Points : 40
    Points
    40
    Par défaut Emplacement des packages
    Bonjour,

    Pouvez vous me donner des précisions sur les packages.

    J'ai fait une classe ConnectMysql qui devrait me servir dans plusieurs projets pour se connecter et fermer ma base Mysql et autres utilitaires.

    Cette classe n'est pas dans un projet et je l'ai mise dans mon workspace dev_test sous fr/pl/mysql,

    j'ai donc un chemin c:/users/dev_test/fr/pl/mysql/ConnectMysql.java

    Lorsque je fais un import fr.pl.mysql.* (ou fr.pl.mysql.ConnectMysql) dans un projet j'ai l'erreur suivante : "The import fr cannot be resolved", çà veut donc dire qu'il ne trouve pas le chemin de cette classe ?

    Ce fr.pl.mysql veut il dire qu'il doit le chercher dans le projet en cours ? et si oui alors comment indiquer à l'import de le chercher où il se trouve ?? car je ne tiens pas recopier cette classe dans chaque projet.

    Merci de vos réponses.
    Cordialement.

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 547
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 547
    Points : 21 602
    Points
    21 602
    Par défaut
    Tu dois juste ajouter le projet dev_test au build path de tes autres projets, de façon assez semblable à utiliser une bibliothèque tierce.

    Sinon ils ne vont pas savoir où ils sont censés aller chercher le package fr (ni tout ce qui suit.)
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2013
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Décembre 2013
    Messages : 73
    Points : 40
    Points
    40
    Par défaut
    dev_test n'est pas un projet mais mon workspace d'Eclipse

    Le fait de déclarer un package xx.xx... (ou import xx.xx...) est il mis automatiquement à la base du projet en cours ou peut il se trouver ailleurs sur le disque ?

    Donc ma question reste la même, Lorsque je fais un import fr.pl.mysql.*, va t il chercher la classe dans le projet en cours ou faut il lui indiquer le chemin pour lui dire que la classe se trouve, non pas dans un autre projet, mais directement dans un chemin du workspace.

    Ou encore faut il faire un .jar de ma classe et m'en servir comme jar externe ??

    Merci par avance.

  4. #4
    Membre actif
    Homme Profil pro
    Consultant BigData
    Inscrit en
    Juillet 2009
    Messages
    129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant BigData

    Informations forums :
    Inscription : Juillet 2009
    Messages : 129
    Points : 280
    Points
    280
    Par défaut
    Bonjour,

    Lorsque tu fais "import ....", le compilateur va chercher ce que tu importes dans un ensemble de classes connues. Cet ensemble est composé, entre autres :
    - de l'environnement d'exécution (JRE)
    - des bibliothèques externes (JAR) référencées
    - Dans le cas d'un éditeur digne de ce nom, tu as en plus la possibilité d'aller chercher les classes dans un autre projet en cours d'édition. Mais cela est propre à l'éditeur.

    Dans aucun cas, l'éditeur va savoir de lui même que dans tel ou tel répertoire, il trouvera des classes Java (j'imagine non compilées qui plus est).

    Puisque tu es sous Eclipse, je ne peux que tu conseiller de créer un projet spécifique pour ces classes utilitaires et référencer ce projet en tant que dépendance dans tous les projets qui en auront besoin.

    [Edit] : je n'avais pas vu que tu avais précisé que tu es sous Eclipse

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2013
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Décembre 2013
    Messages : 73
    Points : 40
    Points
    40
    Par défaut
    Oui je crois que ta solution de créer un projet dédié uniquement aux utilitaires est une bonne idée.
    Merci.

  6. #6
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2013
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Décembre 2013
    Messages : 73
    Points : 40
    Points
    40
    Par défaut
    Mais je reviens quand même à ma question :

    Quand je déclare package xx.xx... au début d'une classe, à quel emplacement du disque est elle placée par défaut quand je sauvegarde ??
    dans le répertoire du projet en cours ou dans un environnement défini ??

    Merci.

  7. #7
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 547
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 547
    Points : 21 602
    Points
    21 602
    Par défaut
    Ce que tu tapes dans le fichier n'a pas d'incidence sur l'endroit où le fichier est enregistré : il est enregistré là où tu l'as créé. Il n'y a pas de "par défaut" que je sache. Quand on fait un nouveau fichier dans un IDE, on commence par dire où on le fait.

    En revanche, cette déclaration package implique que tu as le devoir d'avoir mis ce fichier dans le sous-répertoire xx/xx de la racine classpath du projet. La plupart du temps on ne la tape pas soi-même, l'IDE la génère en fonction de l'endroit où tu crées ta classe.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  8. #8
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2013
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Décembre 2013
    Messages : 73
    Points : 40
    Points
    40
    Par défaut
    Merci de cette précision, je considère donc que la déclaration package se place sous la racine de mon projet en cours.

    Alors comme disait Oussapik, créer un projet dédié aux utilitaires est une bonne idée afin de référencer ce projet en tant que dépendance dans tous les projets qui en auront besoin, ou encore la solution de faire un .jar de ces utilitaires et de s'en servir comme jar externe.

    Quelle est la solution optimale ?
    Merci.

  9. #9
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 547
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 547
    Points : 21 602
    Points
    21 602
    Par défaut
    C'est la même chose. Un projet qui sert de dépendance aux autres, sera à terme distribué sous forme de jar. L'intérêt de le garder sous forme de projet, est que tu peux le faire évoluer en même temps que tu fais évoluer ceux qui s'en servent.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  10. #10
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2013
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Décembre 2013
    Messages : 73
    Points : 40
    Points
    40
    Par défaut
    Merci de vos réponses et bonne journée.

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

Discussions similaires

  1. [Lazarus] Emplacement des unités compilées des packages
    Par martinus45 dans le forum Lazarus
    Réponses: 8
    Dernier message: 22/10/2009, 22h04
  2. Ligne de commande d' Export des packages.
    Par elitost dans le forum Administration
    Réponses: 3
    Dernier message: 10/09/2004, 18h14
  3. [EXPORT] Comment ajouter des packages au .jar ?
    Par djskyz dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 13/08/2004, 00h23
  4. [Classpath][Jar]gestion des packages
    Par marcoss dans le forum Général Java
    Réponses: 4
    Dernier message: 24/04/2004, 23h19
  5. Gestion des packages RPM sous Mandrake
    Par Noki dans le forum Mandriva / Mageia
    Réponses: 10
    Dernier message: 29/03/2004, 20h43

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