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 :

Classes de la base de donnée introuvable à l'exécution


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 29
    Par défaut Classes de la base de donnée introuvable à l'exécution
    bonjour, j'ai le même genre de problème, qu'ici mais les solution que j'ai pu voir jsuqu'à maintenant ne donnent rien.

    mais je vais essayer de tout expliquere depuis le début, pour être + clair
    j'ai fait un pgm sous eclipse, faisant appel à une connexion à une bdd postgresql.

    compilation et exécution, après avoir mis les .jar dans le build path, aucun soucis.

    Lorsque je je tente de créer un .jar de mon pgm afin qu'il puisse être exécuté à partir d'une simple ligne de commande, c'est le dramme.

    En vérifiant et en cherchant, il se trouve que c'est le MANIFEST qui lorsqu'il est créé ne contient pas le classpath. Il faut le créer manuellement. Ce que j'ai fait.

    Et là, (toujours en essayant de l'exécuter en ligne de commande) il ne trouve plus le main.

    J'ai tenté de compiler mes classes manuellement ("javac monProgramme...") la compilation fonctionne. Mais l'exécution me donne le même résultat
    (l'erreur est "Exception in thread "main" java.lang.NoClassDefFoundError")

    je me dis, c'est mon pgm qui est fouareux, je tente de le debuger mais ne trouve rien. Je vérifie le chemin, la présence des fichier .class, tout semble pourtant bon.

    Je tente alors de faire un simple "hello word" depuis un éditeur de texte tout simple.
    la compilation fonctionne.
    Et pas l'exécution.

    J'essaie comme indiqué ci-dessus d'inclure le classpath lors de l'exécution
    (-classpath .\Java\jre6\lib) mais ça ne change rien.

    cela fait depuis deux jours que je retourne tous les classpath dans tous les sens (façon de parler) mais rien n'y fait

    j'ai déjà tenté de désinstall et dréinstall mon JRE pour être sûr d'avoir un truc propre

    je sais plus quoi faire

    un détail que je dois oublier mais je vois pas lequel...

  2. #2
    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
    Tu as bien fait de ne pas nous montrer quelles commandes tu essaies de taper pour faire quoi.

    Ça risquerait de nous aider à comprendre ce que tu essaies de faire et de quoi tu sais déjà avoir besoin pour ça, et du coup on aurait une chance de pouvoir te dire ce qui te manque.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 29
    Par défaut
    inutile de faire dans l'ironique

    pour reprendre en résumé, la compilation depuis la fenêtre dos fonctionne, mais pas l'exécution, malgré la précision du classpath dans la commande.

    je travaille donc sous windows, (j'avais oublié de préciser)
    voici la classe toute simple de test que j'ai créée après donc avoir constaté la défaillance de mon lacement de programme, malgré l'ajout du classpath sur le fichier MANIFEST.MF

    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 !!!");
           }
     
    }
    (on peut difficilement faire + simple)

    la compilation :
    >javac Hello.java
    ça fonctionne, il crée le fichier Hello.class (je suis placé dans le répertoire directement)

    l'exécution
    >java Hello
    ne fonctionne pas
    >java -classpath .\Java\jre6\lib Hello
    ne fonctionne pas non plus.
    (le chemin est bien là où sont les librairies java)

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    342
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 342
    Par défaut
    bonjour,

    sinon tu a quoi comme message d'erreur? (en entier stp)

    edit : j'avais écrit une grosse connerie

  5. #5
    Expert éminent
    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
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par xavynfive Voir le message
    >java -classpath .\Java\jre6\lib Hello
    ne fonctionne pas non plus.
    (le chemin est bien là où sont les librairies java)
    Tu n'a pas à référencer les librairies java dans le classpath, mais uniquement ton code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    java -classpath . Hello
    Attention également à ne pas définir de variable d'environnement CLASSPATH. C'est tout pourri et ca fout la merde...


    a++

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 29
    Par défaut
    merci pour les précision. Mais malgré cela ça ne marchait pas.

    alors apparemment j'ai trouvé une piste à exploiter

    il se trouve qu'en fait sur la machine où je travaille existait un disque D (recovery ou quelque chose comme ça) et que sur ce disque traînait une ancienne version du jre. Et comme il était mis dans le classpath (je l'avais pas vu au début) il devait aller chercher là-bas par défaut.
    Enfin j'ai pas vraiment compris, mais depuis que j'ai fait table rase (j'ai tout supprimé, toutes les version, tous les IDE, c'était un sacré bordel. j'ai bien sûr nettoyé aussi le classpath cette fois, pour n'y mettre qu'une seule référence à l'avenir) et installé uniquement la dernière version du JRE

    et bah ça marche. (au moins pour le hello word.)

    j'ai plus qu'à retester mon pgm complet avant de mettre le topic en *résolu*

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 29
    Par défaut
    bon ben mon programme ne fonctionne toujours pas, il ne trouve toujours pas le main lorsque je lance le .jar

    la différence c'est que le message d'erreur est un peu plus fourni
    (avant il n'y avait que la première ligne, maintenant c'est :

    Exception in thread "main" java.lang.NoClassDefFoundError: Manager
    Caused by: java.lang.ClassNotFoundException: Manager
    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)
    Could not find the main class: Manager. Program will exit.

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

Discussions similaires

  1. [PHP 5.3] Classes simples et base de données
    Par Bakura dans le forum Langage
    Réponses: 5
    Dernier message: 18/10/2009, 14h34
  2. Nom des classes dans la base de données.
    Par chriscoolletoubibe dans le forum JPA
    Réponses: 3
    Dernier message: 14/09/2009, 10h09
  3. diagramme de classe pour un base de donnée
    Par gentelmand dans le forum Diagrammes de Classes
    Réponses: 5
    Dernier message: 23/05/2009, 00h30
  4. Path de la base de donnée introuvable
    Par elyboss dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 22/04/2008, 00h07
  5. Pb Base de donnée introuvable
    Par marman dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 19/03/2007, 19h57

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