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 :

package et compilation


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Février 2016
    Messages
    188
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Février 2016
    Messages : 188
    Par défaut package et compilation
    Bonjour,
    j'ai 2 fichiers se nommant a.java et b.java


    a.java

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    import p.*;
    public class a {
     
        public static void main(String[] args) {
        b toto=new b(3);
        	// TODO, add your application code
        	System.out.println("Hello World!");
        }
    }

    b.java

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    package p;
    public class b {
      public int a;
      public b(int x)
        {
            this.a=x;
        }
    }

    il y a dans b un package p;

    j'ai compilé avec jcreator et ça marche
    donc j'ai copié a.java et b.java dans le dossier bin de jdk
    je tape javac b.java et c'est bon
    javac a.java et ça s'arrête sur la ligne b toto=new(3) car il ne connaît pas la classe visiblement.

    Comment compiler
    merci

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Hello,

    quand une classe est dans un package, elle doit être dans le sous-répertoire de même nom que ce package. Sinon le compilateur ne comprend pas comment la trouver quand il compile des classes qui ont besoin d'elle.

    Exemple, supposons que j'ai les classes suivantes :

    Zorglub dans le package heros.

    Chien dans le package animaux.

    Start pas dans un package.

    Du coup mes fichiers doivent respecter l'arborescence suivante pour que ça marche :

    Code arborescence : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    racine de mes fichiers source Java
      |
      + animaux/
      | + Chien.java
      + heros/
      | + Zorglub.java
      + Start.java

    et pour compiler, me mettre à la racine, dans le même répertoire que Start.java, et :

    Code bash : Sélectionner tout - Visualiser dans une fenêtre à part
    javac *.java animaux/*.java heros/*.java
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre confirmé
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Février 2016
    Messages
    188
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Février 2016
    Messages : 188
    Par défaut
    excuses moi je n'ai pas compris

  4. #4
    Modérateur

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Bah là je me suis exprimé en bon français et j'ai donné un exemple concret avec un schéma, donc, si t'a pas compris on va faire de notre mieux pour clarifier, mais...

    Il faudrait peut-être dire sur quelle phrase tu as du mal exactement, et nous parler un peu de ce que tu penses que ça pourrait essayer de dire mais il y a quelque chose qui est pas clair pour toi.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre confirmé
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Février 2016
    Messages
    188
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Février 2016
    Messages : 188
    Par défaut
    non, mais en utilisant mes fichiers tu aurais pu me dire ce qu'il faut modifier
    merci

  6. #6
    Modérateur

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Je pourrais mais tu es là pour apprendre le fonctionnement de la chose, pas pour qu'on corrige ton exercice.
    Quand on te donne une solution il faut qu'elle marche pour tout, pas juste pour le code que tu viens de montrer. Sinon tu n'apprends rien et tu n'as fait aucun progrès.
    Alors arrête de dire qu'on te donne pas ce que tu veux et prends ce qu'il y a à prendre, on est pas débutants et on sait ce qu'on fait.

    Ce qu'il faut changer c'est l'endroit où ils sont.
    La classe qui est dans le package p doit être dans un sous-répertoire p.
    Pour comprendre l'idée générale, relis mon exemple.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

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

Discussions similaires

  1. [Debutant] compilation automatique
    Par Yannos94 dans le forum JBuilder
    Réponses: 5
    Dernier message: 05/09/2007, 15h08
  2. [POI] echec de compil, package introuvable
    Par hugo123 dans le forum Documents
    Réponses: 2
    Dernier message: 05/10/2005, 11h33
  3. [debutant] compilation g++ : undefined reference
    Par xavlours dans le forum Autres éditeurs
    Réponses: 4
    Dernier message: 10/03/2005, 15h49
  4. [langage] Question débutant compilation PERL
    Par sebbyoguard dans le forum Langage
    Réponses: 5
    Dernier message: 04/09/2004, 19h39
  5. [servlet][debutant] compilation impossible
    Par omega dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 02/03/2004, 11h48

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