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ébutant]Problème d'utilisation package


Sujet :

Langage Java

  1. #1
    Futur Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 6
    Points : 5
    Points
    5
    Par défaut [Débutant]Problème d'utilisation package
    sous windows :
    je crée une classe Test.java qui appartient à un package toto. puis je crée une autre classe Test1.java également pour le package toto.
    La classe Test1 fait appel à la classe Test.
    Je n'arrive pas à compiler Test1.java, j'ai l'erreur 'cannot resolve symbol class Test'...
    je ne comprends pas pourquoi la variable classpath est renseignée, les ressources sont générées sous l'arborescence toto.

    code Test.java suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    package toto;
     
    import java.util.*;
    import java.util.NoSuchElementException;
     
    public class Test {
    	int attributTest;	
     
     
    	public Test(int a) {
     
    	  attributTest = a;
    	  System.out.println("Valeur Objet Test créé " + attributTest);	
    	}
    }
    code Test1.java suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    package toto;
     
    import java.util.*;
    import java.util.NoSuchElementException;
     
    public class Test1 {
    	public static void main(String[] arguments) {
    		 Test objTest;
     
    		 objTest = new Test(1);	
     
     
     
    	}
    }
    [ Modéré par SEMPERE Benjamin ]
    Ajout des balises code
    Les Règles du Forum

  2. #2
    Membre émérite
    Avatar de xavlours
    Inscrit en
    Février 2004
    Messages
    1 832
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 1 832
    Points : 2 410
    Points
    2 410
    Par défaut
    Bonjour,
    Si tu compiles à la console, est-ce que tu penses bien à taper une ligne dans le genre des suivantes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    javac toto.Test
    javac toto.Test.java
    javac toto\Test.java
    (Je me souviens plus très bien ca fait un moment que je travaille au clic ou au make) Il faut taper ces commandes ddans le répertoire père de toto, qui doit être renseigné par le classpath (pas toto lui meme, son père !)
    "Le bon ni le mauvais ne me feraient de peine si si si je savais que j'en aurais l'étrenne." B.V.
    Non au langage SMS ! Je ne répondrai pas aux questions techniques par MP.
    Eclipse : News, FAQ, Cours, Livres, Blogs.Et moi.

  3. #3
    Futur Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Bonjour,

    j'ai pu compiler effectivement en faisant

    javac toto\Test.java
    javac toto\Test1.java

    mais j'ai un autre problème quand j'éxécute Test1.class, j'ai l'erreur
    Exception in thread "main" java.lang.NoClassDefFoundError : Test1...."

    ?????

  4. #4
    Membre habitué Avatar de Xavinou
    Inscrit en
    Mai 2005
    Messages
    135
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 135
    Points : 156
    Points
    156
    Par défaut
    Effectivement la classe "Test" n'existe pas, par contre "toto.Test" existe.

    Vérifie aussi que le répertoire contenant le répertoire toto soit dans le classpath.

  5. #5
    Futur Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Finalement j'ai réussi à exécuter Test1.class, il faut lancer la commande
    java toto.Test1 et là ca fonctionne
    Mais cette écriture n'est pas précisée dans les livres que j'utilise...


    Je viens de crééer une classe Test3 qui veut utiliser les classes du package toto, cela fonctionne à condition que je fasse
    import toto.Test;
    si je fais import toto.*, cela ne fonctionne pas

    Bizarre ?????
    Il est peut être conseillé d'éviter la console pour lancer les commandes et de passer par un autre outil graphique .
    Lequel utiliser ????

  6. #6
    Membre émérite
    Avatar de xavlours
    Inscrit en
    Février 2004
    Messages
    1 832
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 1 832
    Points : 2 410
    Points
    2 410
    Par défaut
    Non, la console ne peut te faire que du bien. Le jour ou tu auras à bidouiller un makefile ou un build.xml, tu ne pourras pas t'en sortir si tu n'as pas de bonnes bases sur les commandes de compilation à la console.

    Pour ton toto.*, essaie de cleaner de temps en temps (effacer tous les .class). On sait jamais. De plus, tu peux essayer de compiler tous tes fichiers en une seule ligne, parfois, moi ca marchait mieux :
    "Le bon ni le mauvais ne me feraient de peine si si si je savais que j'en aurais l'étrenne." B.V.
    Non au langage SMS ! Je ne répondrai pas aux questions techniques par MP.
    Eclipse : News, FAQ, Cours, Livres, Blogs.Et moi.

  7. #7
    Futur Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    J'ai supprimé les .class, j'ai regénére, j'ai rebooté et apparamment c'est bon....ca marche
    j'ai refait des essais
    conclusion :
    pour compiler une classe du package toto tu peux te positionner sous toto
    et faire javac Test.java
    je ne sais pas pourquoi ca n'a pas voulu marcher
    ou si t'es sur le répertoire père faire : javac toto\Test.java

    et pour exécuter une classe il faut mettre l'arbo des packages
    java toto.Test1 par exemple


    Merci pour les infos

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 04/01/2008, 14h52
  2. Réponses: 7
    Dernier message: 16/08/2007, 14h35
  3. [débutant]problème à l'utilisation de cin et cout
    Par Damien B. dans le forum SL & STL
    Réponses: 6
    Dernier message: 07/05/2007, 19h23
  4. Réponses: 2
    Dernier message: 05/01/2006, 03h40
  5. [ Débutant ] Problème avec un package
    Par counet dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 31/10/2005, 15h00

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