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 :

Exécution d'un simple programme impossible


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 149
    Par défaut Exécution d'un simple programme impossible
    salut tout le monde.

    bon alors voila, j'ai honte de présenter un problème pareil. pourtant rien de bien compliqué mais je sature la. et je suis sur que la solution est très simple. mon probleme : n'arrive pas à exécuter un simple HelloWorld. pour plus de précisions, je tourne sur ubuntu. je me suis fais une classe hello.java avec le contenu suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    public class hello
    {
    	public static void Main(String[] args)
    	{
    		System.out.println("hello");
    	}
    }
    compile ca en ligne de commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    javac ./hello.java
    ce qui me donne le .class correspondant, dans le répertoire courant.

    mais lorsque je tente l'exécution, et sauf erreur de ma part, il s'agit de la commande suivante :
    ce qui me donne ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Could not find the main class: ./hello. Program will exit.
    exercice très simple, mais qui me fait peter les plombs la ... si vous pouvez m'indiquer une piste de sortie, ca serait vraiment cool !!!

    merci

  2. #2
    Membre expérimenté Avatar de diallomad
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Mali

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 164
    Par défaut
    Citation Envoyé par splinternabs Voir le message

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Could not find the main class: ./hello. Program will exit.
    T'as nommé la methode main avec M majuscule.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    public class hello
    {
    	public static void main(String[] args)
    	{
    		System.out.println("hello");
    	}
    }

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 149
    Par défaut
    bien vu ... mais non lol.

    j'ai corrigé mais ca le fait pas. d'autant plus que ma classe c'est hello et non main (méthode statique).

    autre point, j'ai trouvé ceci : a priori le même souci chez d'autres personnes, qui parlent d'un souci de versions entre le JRE et leur JDK. sauf que pour ma part, il me semble avoir des versions compatibles (sauf erreur de ma part) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    javac -version
    javac 1.6.0_20
    java -version
    java version "1.6.0_20"
    OpenJDK Runtime Environment (IcedTea6 1.9.9) (6b20-1.9.9-0ubuntu1~10.04.2)
    OpenJDK Server VM (build 19.0-b09, mixed mode)
    on parle d'un "sudo update-alternatives --config java" pour faire la mise à jour (je donne ca pour ceux que ca intéresse),

    pour ma part la réponse à cette commande est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Il n'existe qu'une «*alternative*» dans le groupe de lien java*:*/usr/lib/jvm/java-6-openjdk/jre/bin/java.
    Rien à configurer.

  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
    Le message d'erreur n'est pas du tout le même. Le leur indique des versions de bytecode incompatibles, toi il indique qu'il ne trouve pas la classe demandée. (Soit dit en passant, ça n'avait donc, en effet, rien à voir avec la méthode main. Incorrecte, certes, mais la classe n'ayant même pas été trouvée on n'en était pas là.)

    Vu que le message d'erreur indique qu'il ne trouve pas la classe ./hello, j'imagine que la commande que tu as vraiment tapée est

    Ça ne marchera pas. La bonne commande est

    c'est-à-dire ce que tu as dit, mais pas ce que tu as fait.
    Quel message as-tu dans ce cas-là ?

    Pour info, il faut être dans le même répertoire que là où se trouve le fichier hello.class (obtenu après compilation de hello.java)

    Sauf si ton fichier .java commence par des infos de package machin;
    Ce qui est mieux, mais qui complique un peu les choses.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 149
    Par défaut
    merci pour ta réponse. en effet ma commande sur ce coup était java ./hello, étant dans le répertoire du fichier hello.java et hello.class, normalement ca devrait marcher me semble-t-il. ceci étant j'ai aussi essayé le "java hello" qui ne donne rien non plus.

    une piste peut etre : le terminal permet une complétion des commandes, a savoir que si je tape "java h"+touche tab le terminal devrait me compléter le nom du fichier => "java hello". ce n'est pas le cas ... pourtant quand j'exécute cette manip avec le compilateur javac par exemple ca marche bien. une idée ?

    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
    Citation Envoyé par splinternabs Voir le message
    merci pour ta réponse. en effet ma commande sur ce coup était java ./hello, étant dans le répertoire du fichier hello.java et hello.class, normalement ca devrait marcher me semble-t-il. ceci étant j'ai aussi essayé le "java hello" qui ne donne rien non plus.
    Message d'erreur, please. Je te l'ai demandé dans mon dernier message.

    Citation Envoyé par splinternabs Voir le message
    une piste peut etre : le terminal permet une complétion des commandes, a savoir que si je tape "java h"+touche tab le terminal devrait me compléter le nom du fichier => "java hello".
    Très improbable. À moins que ton shell ait le mode sémantique lourde activé, et qu'il ait un plugin d'utilisation de java, ce qui serait assez facile mais dont je n'ai jamais entendu parler.

    (Par contre, il devrait proposer hello.java et hello.class, factorisés en hello. )

    Citation Envoyé par splinternabs Voir le message
    pourtant quand j'exécute cette manip avec le compilateur javac par exemple ca marche bien. une idée ?
    Ce sont deux choses différentes.
    - Javac pense en terme de fichiers.
    - Java pense en terme de classes disponibles dans le classpath (qui, par défaut, devrait inclure le répertoire en cours.)

    Un truc que tu peux essayer, c'est d'imposer le répertoire en cours dans le classpath :

    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. Réponses: 4
    Dernier message: 13/03/2012, 07h34
  2. exécution programme impossible
    Par yasinfo dans le forum Windows XP
    Réponses: 3
    Dernier message: 07/12/2007, 02h17
  3. erreur ds l exécution d un simple prog
    Par tenderstoune dans le forum Environnement de Développement Intégré (EDI)
    Réponses: 2
    Dernier message: 10/03/2007, 13h17
  4. Réponses: 7
    Dernier message: 18/01/2007, 13h09
  5. Simple Programme Recreateur De Script
    Par Syntax-ERROR dans le forum C++
    Réponses: 3
    Dernier message: 20/02/2006, 15h28

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