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 :

[debutant] comment executer un programme java


Sujet :

avec Java

  1. #21
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 133
    Points : 64
    Points
    64
    Par défaut
    Citation Envoyé par mehdiing
    salut,
    essaye de te placer dans le répertoire qui contient le TestCube.java puis compile le ensuite éxécute le sans classpath où chemin absolue c'est plus simple. j'ai éxécuter ton code chez moi et ça marche bien.

    Je veux savoir ce que tu as tapé exactement!

  2. #22
    Membre régulier Avatar de fdubks
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2007
    Messages : 73
    Points : 81
    Points
    81
    Par défaut
    essais:

    C:\Users\lwsy\Documents> C:\Program Files\java\jdk1.6.0_01\bin\java TestCube

    si TestCube.class est bien dans C:\Users\lwsy\Documents

  3. #23
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    423
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 423
    Points : 303
    Points
    303
    Par défaut
    salut,
    pour ne pas avoi toujours accès au dossier bin du jdk ajoute le dans le path du système, puis tu poura lancer javac ou java d'où tu veut.
    pour la compilation des classes c'est plus simple de te placer dans le classe qui les contient où aussi sera généré le fichier .class.

  4. #24
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 133
    Points : 64
    Points
    64
    Par défaut
    Citation Envoyé par mehdiing
    salut,
    pour ne pas avoi toujours accès au dossier bin du jdk ajoute le dans le path du système, puis tu poura lancer javac ou java d'où tu veut.
    pour la compilation des classes c'est plus simple de te placer dans le classe qui les contient où aussi sera généré le fichier .class.
    Slt,
    j'ai mis dans le path: C:\Program Files\java\jdk1.6.0_01\bin\ ça me permet ainsi de ne plus taper à tout moment le même chemin.Je peux ainsi lancer javac ou java d'où je veux. j'arrive maintenant à compiler en tapant juste javac TestCube.java.

    Mais le problème de voir l'exécution du programme démeure.J'ai le même message d'erreur.C'est comme s'il n'arrive pas à trouver la classe.

    J'ai essayé d'executer ce programme sur eclipse comme vous me l'aviez demandé.J'ai les resultats.ça marche bien.

    Mais je ne baisse pas les bras, j'essaie de voir pourquoi ça ne marche pas en utilisant MSDOS.J'ai appris plein de choses au cours de nos discussions.A plus tard.Je reviendrai toujours

  5. #25
    Membre chevronné
    Avatar de afrikha
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 600
    Points : 2 208
    Points
    2 208
    Par défaut
    Salut,

    Tu tapes bien : "java TestCube" ?
    Si oui, quel est le message que tu obtiens ?

    @+

  6. #26
    Membre régulier Avatar de fdubks
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2007
    Messages : 73
    Points : 81
    Points
    81
    Par défaut
    Ca parait idiot, mais tu tapes bien les majuscules où il faut ?
    Sinon, voici ce que tu reçois :
    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
    17
    18
    19
    20
    21
    22
    23
    24
     
    D:\>java testCube
    Exception in thread "main" java.lang.NoClassDefFoundError: testCube (wrong name:
     TestCube)
            at java.lang.ClassLoader.defineClass1(Native Method)
            at java.lang.ClassLoader.defineClass(Unknown Source)
            at java.security.SecureClassLoader.defineClass(Unknown Source)
            at java.net.URLClassLoader.defineClass(Unknown Source)
            at java.net.URLClassLoader.access$000(Unknown Source)
            at java.net.URLClassLoader$1.run(Unknown Source)
            at java.security.AccessController.doPrivileged(Native Method)
            at java.net.URLClassLoader.findClass(Unknown Source)
            at java.lang.ClassLoader.loadClass(Unknown Source)
            at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
            at java.lang.ClassLoader.loadClass(Unknown Source)
            at java.lang.ClassLoader.loadClassInternal(Unknown Source)
     
    D:\>java TestCube
    0       0
    1       1
    2       8
    3       27
    4       64
    5       125

  7. #27
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 133
    Points : 64
    Points
    64
    Par défaut
    Citation Envoyé par fdubks
    Ca parait idiot, mais tu tapes bien les majuscules où il faut ?
    Sinon, voici ce que tu reçois :
    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
    17
    18
    19
    20
    21
    22
    23
    24
     
    D:\>java testCube
    Exception in thread "main" java.lang.NoClassDefFoundError: testCube (wrong name:
     TestCube)
            at java.lang.ClassLoader.defineClass1(Native Method)
            at java.lang.ClassLoader.defineClass(Unknown Source)
            at java.security.SecureClassLoader.defineClass(Unknown Source)
            at java.net.URLClassLoader.defineClass(Unknown Source)
            at java.net.URLClassLoader.access$000(Unknown Source)
            at java.net.URLClassLoader$1.run(Unknown Source)
            at java.security.AccessController.doPrivileged(Native Method)
            at java.net.URLClassLoader.findClass(Unknown Source)
            at java.lang.ClassLoader.loadClass(Unknown Source)
            at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
            at java.lang.ClassLoader.loadClass(Unknown Source)
            at java.lang.ClassLoader.loadClassInternal(Unknown Source)
     
    D:\>java TestCube
    0       0
    1       1
    2       8
    3       27
    4       64
    5       125

    salut,
    je tape bien : java TestCube
    et je reçois comme message d'erreur:
    exception in thread "main" java.lang.NoClassDefFoundError : C:\Users\lwsy\Documents\TestCube

    le problème est certainement lié au chemin

  8. #28
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Javamar
    je tape bien : java TestCube
    et je reçois comme message d'erreur:
    exception in thread "main" java.lang.NoClassDefFoundError : C:\Users\lwsy\Documents\TestCube
    C'est drôle car le message d'erreur ne semble pas correspondre à la commande

    Tu lances la commande depuis quel répertoire ?
    Où se situe ton fichier TestCube.class ?

    a++

  9. #29
    Membre régulier Avatar de fdubks
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2007
    Messages : 73
    Points : 81
    Points
    81
    Par défaut
    Et si c'etait un probleme de package ??

  10. #30
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 133
    Points : 64
    Points
    64
    Par défaut
    Citation Envoyé par adiGuba
    C'est drôle car le message d'erreur ne semble pas correspondre à la commande

    Tu lances la commande depuis quel répertoire ?
    Où se situe ton fichier TestCube.class ?

    a++
    slt,
    en fait quand je compile TestCube.java, TestCube.class se retrouve dans mes documents.j'ai aussi TestCube.java dans mes documents.
    en fait la commande que je tape est:
    java C:\Users\lwsy\documents\TestCube

    J'avais réussi à utiliser la variable path comme vous me l'aviez demandé.De ce fait je ne tape plus à tout moment le chemin qui correspond à path: C:\Program Files\java\jdk1.6.0_01\bin

  11. #31
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 133
    Points : 64
    Points
    64
    Par défaut
    Citation Envoyé par adiGuba
    C'est drôle car le message d'erreur ne semble pas correspondre à la commande

    Tu lances la commande depuis quel répertoire ?
    Où se situe ton fichier TestCube.class ?

    a++
    juste pour dire que Documents et non documents sur mon message

  12. #32
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 133
    Points : 64
    Points
    64
    Par défaut
    Citation Envoyé par fdubks
    Et si c'etait un probleme de package ??
    je ne sais pas peut-être que c'est problème de package! je vais voir ça

  13. #33
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Javamar
    en fait la commande que je tape est:
    java C:\Users\lwsy\documents\TestCube
    Comme je l'ai dit dans mon premier message il y a près d'une semaine :
    Citation Envoyé par adiGuba
    Il faut passer à java le nom de la classe et non pas le chemin vers le fichier :
    Et il faut définir le CLASSPATH si tu ne l'exécute pas du même répertoire que la classe...

    a++

    PS : Pourquoi tu fait un quote d'un message entier pour une simple remarque ? Et pourquoi tu envoi plusieurs message au lieu de les regrouper tous dans un seul et même message ?
    Ca rend le tout bien moins agréable à lire et à suivre...

  14. #34
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 133
    Points : 64
    Points
    64
    Par défaut
    Slt! Désolé pour cette longue abscence.C'est tout simplement parceque je n'ai pas encore un ordi pour exécuter mes codes.
    Revenons à nos moutons:
    J'arrive maintenant à compiler et à exécuter le programme.
    En fait le modérateur avait raison de dire qu'il fallait utiliser les packages.Je reviendrai bientôt pour dire ce que j'ai fait pour que ça marche.à bientôt.

  15. #35
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 133
    Points : 64
    Points
    64
    Par défaut
    salut à tous!! En fait j'arrive à exécuter mon programme sur l'invite de commandes.Mais malheureusement c'est grâce à eclipse que j'ai crée mon projet (charles), mon package (emerson) et ma classe (Bonjour.java).

    Mais mon plus grand problème actuellement est de faire ce travail sans passer par eclipse c'est à dire: créer mon package.Je ne sais pas comment s'y prendre.J'aimerais que vous m'aidiez dans ce sens, en m'indiquant pas à pas ce qu'il faut faire.

  16. #36
    Membre expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Points : 3 675
    Points
    3 675
    Par défaut
    Pfiou...

    Allez je suis de bonne humeur aujourd'hui, t'as de la chance.

    Un package, c'est rien qu'un répertoire...

    Si dans ton code tu déclares un package "mypack" de cette manière:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    package mypack; // première ligne du code
     
    public class MyClass {...} // définition de la classe, elle contient une "public static void main(String[] args)"
    Alors la structure du projet sur le disque ressemblera à ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    +-- MyProject // racine du projet
      +-- mypack // répertoire représentant le package
        +-- MyClass.java // code source
        +-- MyClass.class // code compilé
    Pour compiler, tu ouvres une console, tu te déplaces jusqu'à "MyProject" (avec des commandes "cd ...")

    Une fois là, tu te retrouves dans la situation suivante (dans la console):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    C:\Documents\MyProject>
    Là, tu tappes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    cd mypack // pour aller dans le rép. mypack
    javac MyClass.java // pour compiler le fichier MyClass.java
    Ensuite pour exécuter, il faut remonter d'un niveau, tu tappes donc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    cd.. // pour revenir au répertoire "C:\Documents\MyProject"
    pour lancer MyClass.java, il faut spécifier le nom du package, tu tappes donc:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    java mypack.MyClass // pour lancer MyClass du package mypack
    Maintenant, un autre problème de débutant.

    Si tu as une classe qui a été compilée avec la ligne "package mypack;" comme c'est le cas de mon exemple, tu ne peut pas simplement déplacer le fichier .class dans un répertoire "mypack2" et penser que le simple fait d'exécuter "java mypack2.MyClass" fonctionnera. Bin oui, la notion de package est compilée dans les .class, et il faut strictement respecter leur déclaration dans l'arborescence de répertoires dans lequel tu places le fichier .class...


    J'espère être clair... En tout cas je peux pas faire mieux...

  17. #37
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 133
    Points : 64
    Points
    64
    Par défaut
    Salut à tous! J'arrive maintenant à executer mes programmes.Je remercie tout le monde, particulièrement le modérateur Adiguba, le modérateur PILL S.Grâce à vous, je sais désormais ce que veut dire variable path, classpath, package.Sans les variables path, classpath, je n'aurai pas pu exécuter mes programmes.

  18. #38
    Membre confirmé Avatar de miloux32
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    545
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 545
    Points : 565
    Points
    565
    Par défaut
    Citation Envoyé par Javamar
    slt,
    en fait quand je compile TestCube.java, TestCube.class se retrouve dans mes documents.j'ai aussi TestCube.java dans mes documents.
    en fait la commande que je tape est:
    java C:\Users\lwsy\documents\TestCube

    J'avais réussi à utiliser la variable path comme vous me l'aviez demandé.De ce fait je ne tape plus à tout moment le chemin qui correspond à path: C:\Program Files\java\jdk1.6.0_01\bin
    tapes juste
    java TestCube
    sans le chemin ...

  19. #39
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 133
    Points : 64
    Points
    64
    Par défaut
    Salut tout le monde!
    Effectivement en définissant ma variable path=C:\Program Files\java\jdk1.6.0_01\bin.Je n'ai plus à taper le chemin C:\Program Files\java\jdk1.6.0_01\bin.La JVM va chercher toute seule dans bin la commande "javac " grâce au chemin indiqué dans path.
    Ma classe Bonjour.java est dans "documents" c'est à dire C:\Users\lwsy\documents.
    A partir de "documents" je tape la commande javac Bonjour.java, il se crée dans "documents" la classe Bonjour.java.
    Ensuite je dois définir la variable classpath, sans laquelle la JVM ne pourra pas retrouver la classe Bonjour.
    Je peux définir ma variable classpath, en indiquant par exemple la racine du chemin dans lequel la JVM va chercher la classe Bonjour.Dans le cas présent on peut prendre classpath=Users\lwsy.Ainsi à partir de "documents" en tapant : java Bonjour
    la JVM va chercher la classe Bonjour dans tous les chemins dont la racine est Users\lwsy et elle trouvera Bonjour.class dans Users\lwsy\documents.

Discussions similaires

  1. [C#] Comment executer un programme externe ?
    Par Worldofdada dans le forum C#
    Réponses: 7
    Dernier message: 11/02/2009, 14h36
  2. Réponses: 1
    Dernier message: 10/12/2006, 13h38
  3. Comment executer un programme avec un bouton
    Par STEPH69000 dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 09/08/2006, 19h48
  4. [Run]comment executer un projet java sous eclipse
    Par snaioua dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 04/10/2005, 17h40
  5. [DEBUTANT]Comment executer un script sql
    Par peaceinpal dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 15/03/2004, 08h44

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