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 :

compilation class + package


Sujet :

avec Java

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur Back-End
    Inscrit en
    Avril 2006
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Back-End

    Informations forums :
    Inscription : Avril 2006
    Messages : 113
    Points : 49
    Points
    49
    Par défaut compilation class + package
    Bonjour,


    Je débute de peu en java et je souhaiterais compiler deux classes qui sont dans le même package myPackages :
    classe Vector et classe Matrice

    Ces deux classes sont dans deux fichier différent une classe par fichier, au début de chacun d'eux, je mets l'instruction de package comme ceux-ci :
    Vector.java
    package myPackage;
    Matrice.java
    package myPackage;
    J'ai compilé la classe Vector, tout va bien jusque là

    Par contre quand je veux compilé la classe Matrice, j'ai le message d'erreur suivant.


    C:\j2sdk1.4.2_15\javaexo\myPackage>javac -classpath c:\j2sdk1.4.2_15\javaexo\myP
    ackage Matrice.java
    Matrice.java:7: cannot resolve symbol
    symbol : class Vector
    location: class myPackage.Matrice
    protected Vector vX,vY,vZ;
    Voici le début de ma classe Matrice


    package myPackage;


    public class Matrice
    {
    protected Vector vX,vY,vZ;

    // Constructeur d'une matrice par 3 vecteurs
    public Matrice(Vector vX, Vector vY, Vector vZ)
    {
    this.vX = vX;
    this.vY = vY;
    this.vZ = vZ;
    }

    Pour construire la classe Matrice j'ai besoin de la classe Vector, ces classes sont mes classes persos, je ne comprends pas pourquoi ça ne fonctionne pas, je précise bien que la classe Matrice n'est pas une classe dérivée de la classe Vector. Normallement le compilateur devrait trouver la classe car elle se trouve dans le même package.

    j'ai essayé dans le javac l'option -classpath en spécifiant le chemin ou se trouve ces classes mais rien ni fait il ne reconnait pas la classe Vector.

    La dernière ligne affiche l'erreur suivante :
    The system is out of resources.
    Consult the following stack trace for details.
    java.lang.OutOfMemoryError
    Je pense que quelqu'un pourra m'aider sur ce problème, je compte sur votre aide et je vous remercie par avance.

    dav79

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    802
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 802
    Points : 653
    Points
    653
    Par défaut
    Le problème viens de ton classpath. Il doit correspondre à la racine de ton projet et non pas à l'emplacement exacte de ta classe. En revanche, le package fait partie du nom de la classe. Le plus simple est de te placer à la racine de ton projet :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    C:\j2sdk1.4.2_15\javaexo>javac myPackage.Matrice.java
    Se former : voir ces cours et tutoriels pour apprendre Java : http://java.developpez.com/cours/
    Le meilleur cours Java c'est jmdoudou : http://jmdoudoux.developpez.com/cours/developpons/java/

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur Back-End
    Inscrit en
    Avril 2006
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Back-End

    Informations forums :
    Inscription : Avril 2006
    Messages : 113
    Points : 49
    Points
    49
    Par défaut
    Merci Verbose d'avoir répond aussi vite,


    J'ai bien fait ce que tu m'as dit, mais j'obtiens le message d'erreur suivant,



    C:\j2sdk1.4.2_15>cd javaexo

    C:\j2sdk1.4.2_15\javaexo>javac myPackage.Matrice.java
    error: cannot read: myPackage.Matrice.java
    1 error

  4. #4
    Membre actif
    Avatar de vahid
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    228
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 228
    Points : 276
    Points
    276
    Par défaut
    Slt
    en fait c'est plutot
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    javac myPackage/Matrice.java

  5. #5
    Membre du Club
    Homme Profil pro
    Développeur Back-End
    Inscrit en
    Avril 2006
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Back-End

    Informations forums :
    Inscription : Avril 2006
    Messages : 113
    Points : 49
    Points
    49
    Par défaut
    Salut je te remercie Vahid c'est perfaitement juste

    Tu as assuré, ça fait quelques jours que je coinsait sur ce problème, donc la classpath n'est pas nécessaire pour utiliser des classes qui appartiennent au même package. Par défaut, le compilateur cherche dans le répertoire courant.

    En tout cas, merci encore une fois pour ta réponse pertinente.

    Salut!

    dav79

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 18/01/2005, 09h13
  2. Réponses: 2
    Dernier message: 17/11/2004, 10h50
  3. probleme compilation classe avec Borland c++ compiler 5.5
    Par softblue dans le forum Autres éditeurs
    Réponses: 2
    Dernier message: 17/06/2004, 15h16
  4. [Compilation] compiler plusieurs packages
    Par dzincou dans le forum ANT
    Réponses: 10
    Dernier message: 08/06/2004, 16h08
  5. [Compilation] classe inexistante
    Par pacha1 dans le forum Général Java
    Réponses: 8
    Dernier message: 27/05/2004, 15h19

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