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 OK, erreur execution


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Inscrit en
    Juin 2007
    Messages
    259
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 259
    Par défaut Compilation OK, erreur execution
    Bonjour,

    J'ai un gros bloc d'erreur "Exception in thread "main" java.lang.NoClassDefFoundError sur un script simplissime :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    public class Test {
      public static void main(String args[]) {
          System.out.println("Ceci est un Test");
      }
    }
    que j'ai sauvegardé sous Test.java
    puis

    Pas d'erreur de compilation...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    java Test
     
    Exception in thread "main" java.lang.NoClassDefFoundError: Test
    Caused by: java.lang.ClassNotFoundException: Test
    	at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
    	at java.lang.ClassLoader.loadClass(ClassLoader.java:303)
    	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    	at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
    	at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:316)
    Could not find the main class: Test.  Program will exit.
    Voyez vous quel pourrait être le problème ???
    Merci !!!

  2. #2
    Membre Expert
    Avatar de professeur shadoko
    Homme Profil pro
    retraité nostalgique Java SE
    Inscrit en
    Juillet 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : retraité nostalgique Java SE

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 257
    Par défaut
    un CLASSPATH fantaisiste dans ton environnement?
    t'es pas dans le répertoire de Test.class?

    si le Test.class est là essaye avec: java -cp . Test

  3. #3
    Membre très actif
    Inscrit en
    Juin 2007
    Messages
    259
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 259
    Par défaut
    Citation Envoyé par professeur shadoko Voir le message
    un CLASSPATH fantaisiste dans ton environnement?
    hummmm ça m'a l'air bien ça...
    ce matin au redémarrage (sans CLASSPATH de défini), cela sors correctement...
    comment ajouter au CLASSPATH les paquets que j'ai ajouté moi même dans mon répertoire ~/java/lib ?
    Car au départ lorsque je fais un
    rien ne sors mais au moins le code de base marche !!!
    Par contre le code qui utilise les jar que j'ai dans ~/java/lib ne marche pas...
    Du coup je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    export CLASSPATH=~/java/lib
    Et là plus rien ne marche...
    Cela signifie que cela écrase le CLASSPATH par défaut pour que le code de base fonctionne mais comment le trouver puisque à l'origine le CLASSPATH n'est pas renseigné ???

  4. #4
    Membre Expert
    Avatar de professeur shadoko
    Homme Profil pro
    retraité nostalgique Java SE
    Inscrit en
    Juillet 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : retraité nostalgique Java SE

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 257
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    export  CLASSPATH=.:~/java/lib

  5. #5
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    ne modifiez jamais la variable d'environnement CLASSPATH, dans 99% des cas vous n'en avez pas besoin et allez faire pire que mieux.

    Pour rajouter des dépendance au programme:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    javac -classpath .:~/java/lib Test.java
    java -cp .:~/java/lib Test

  6. #6
    Membre très actif
    Inscrit en
    Juin 2007
    Messages
    259
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 259
    Par défaut
    J'ai donc modifié le classpath en :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    export CLASSPATH=.:~/java/lib
    Problème résolu merci !!!
    Mais je taggue plus tard, après une réponse si possible, un peu un autre sujet mais cela se rejoint : on peut embarquer dans l'exécutable les librairies supplémentaires ? sinon il va me falloir les installer sur autant de postes que j'ai d'utilisateurs, ça risque d'être long...!!!

  7. #7
    Membre Expert
    Avatar de professeur shadoko
    Homme Profil pro
    retraité nostalgique Java SE
    Inscrit en
    Juillet 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : retraité nostalgique Java SE

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 257
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    ne modifiez jamais la variable d'environnement CLASSPATH, dans 99% des cas vous n'en avez pas besoin et allez faire pire que mieux.
    oh oui bien d'accord! mais en phase d'apprentissage ...

Discussions similaires

  1. [VBA] Aide Erreur execution !!
    Par Virgile59 dans le forum VBA Access
    Réponses: 2
    Dernier message: 10/02/2006, 12h01
  2. [PHP MySQL] Erreur execution requête de type INSERT
    Par Pfeffer dans le forum Requêtes
    Réponses: 6
    Dernier message: 23/01/2006, 17h38
  3. Réponses: 18
    Dernier message: 10/12/2005, 01h19
  4. [Ant]Erreur execution d'une tache ANT
    Par gerin dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 11/05/2004, 16h59
  5. Réponses: 4
    Dernier message: 30/04/2004, 13h14

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