Problème compillation

Résolu
Bonjour, j'ai un problème lors ce que je compilent mes programmes java :
Exception in thread "main" java.langNoClassDefFoundError : HelloWorld (wrong name: Skymer/HelloWorld)
at (Il y a autre chose mais j'ai la Flem de tout recopiez)
at .......
at
at
at
at
at

Bref, Merci de me répondre ! :tristesse:
Cordialement :Jean-Casoulets

7 réponses

  1. Modérateur
    Ce que tu obtiens n'est pas un message de compilation, mais d'exécution.
    Tu as du faire quelque chose comme
    java Skymer/HelloWorld
    c'est à dire en donnant le chemin d'accès au fichier .class alors qu'il fallait donner le nom de la classe package compris, c'est à dire
    java Skymer.HelloWorld
    en supposant que "Skymer" soit effectivement un package. En revanche s'il s'agit juste d'un dossier et que ta classe HelloWorld n'a pas de package, alors il faudra te déplacer dans le dossier en faisant un
    cd Skymer
    avant de répéter tes commandes
    javac HelloWorld.java
    et
    java HelloWorld
    .
    1. ok, merci je te dirai si ça marche (je me doutais bien que j'avais merder ^^)
      1. RE, tu pourrais me répondre autrement, j'ai fait un test sans le package, ça marche très bien, je suis : dans mon workspace, mon projet, bin, j'ai mon Exe.bat et mon fichier.CLASS.
        Dans le .txt je mets:
        @ECHO off
        java HelloWorld (le HelloWorld c'est juste un exemple sinon moi c'est autre chose)
        pause > nul
        Je voudrais faire la même chose sauf avec un package et aussi savoir si avec plusieurs classes ça marche tout simplement ou il y a une autre manip
        Cordialement : Christiano Ronaldo
        1. Modérateur
          Admettons que tu ais donc :

          Workspace > Projet > Bin > exe.bat

          Workspace > Projet > Bin > HelloWorld.class
          Workspace > Projet > Bin > package > Main.class
          Workspace > Projet > Bin > package > Util.class

          Alors dans le .bat tu mets
          java HelloWorld
          ou
          java package.Main
          selon où es ton main.
          S'il y a plusieurs classes ce n'est pas grave, c'est la méthode main qui compte.
      2. Mais le Exe.bat je le laisse où il est ou je le mets a l'extérieur du package ?
        1. Moi j'ai :
          Workspace>Exemple>bin>Skymer>Exe.bat & HelloWorld.class>
          Mon .bat contient :
          @echo off
          java Skymer.HelloWorld
          pause > nul
          Merci, de me répondre