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 :

[Débutant] mais où est cette main class ?


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Août 2008
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 21
    Par défaut [Débutant] mais où est cette main class ?
    Bonjour à tous,

    Ca fait plus de deux jours que j'essaie de résoudre mon problème. Il semble simple mais je suis toujours bloqué malgré mes recherches. Alors je viens solliciter votre aide.

    J'exécute un jar (depuis un .bat) et j'ai l'erreur suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/l
    gging/LogFactory
            at fbn.ESTDCreation.<clinit>(ESTDCreation.java:36)
    Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFact
    ry
            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)
            ... 1 more
    Could not find the main class: fbn.ESTDCreation.  Program will exit.

    J'ai donc été voir dans mon manifest. La classe main qui s'appelle ESTDCreation est bien là (elle se trouve dans mon arborescence D:\[blabla]\workspace\monprojet\bin\fbn\ESTDCreation.class)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Manifest-Version: 1.0
    Class-Path: .
    Main-Class: fbn.ESTDCreation
     
    Name: org/exolab/castor
    Sealed: false
     
    Name: org.apache.log4j
    Implementation-Vendor: "Apache Software Foundation"
    Implementation-Title: log4j
    Implementation-Version: 1.2.15
    J'ai lu que ça pouvait être à cause du classpath, j'ai donc voulu exécuter la commande suivante sous DOS et j'ai la même erreur que plus haut:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    C:\WINDOWS\system32>java -classpath "D:\blabla\workspace\monprojet\bin" fbn.jar
    Donc j'apprécierai énormément d'être au moins aiguillé, parce-que je commence à désespérer

    Merci d'avance

  2. #2
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2004
    Messages
    253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haute Garonne (Midi Pyrénées)

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

    Informations forums :
    Inscription : Avril 2004
    Messages : 253
    Par défaut
    L'erreur indique que c'est la classe org/apache/commons/lgging/LogFactory qu'il ne trouve pas.
    Il te faut donc mettre le jar qui la contient (commons-logging.jar ?) dans ton classpath:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    -classpath "D:\blabla\workspace\monprojet\bin;<chemin_ver_la_lib>/commons-logging.jar"

  3. #3
    Membre averti
    Inscrit en
    Août 2008
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 21
    Par défaut
    Citation Envoyé par Fifan31 Voir le message
    L'erreur indique que c'est la classe org/apache/commons/lgging/LogFactory qu'il ne trouve pas.
    Il te faut donc mettre le jar qui la contient (commons-logging.jar ?) dans ton classpath:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    -classpath "D:\blabla\workspace\monprojet\bin;<chemin_ver_la_lib>/commons-logging.jar"
    Merci pour cette rapide réponse !

    Mais j'avais bien ajouté tous mes jar dans mon classpath:

    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
    25
    26
     
    <?xml version="1.0" encoding="UTF-8"?>
    <classpath>
    	<classpathentry kind="src" path="src"/>
    	<classpathentry kind="src" path=".settings"/>
    	<classpathentry kind="src" path="lib"/>
    	<classpathentry kind="src" path="bin"/>
    	<classpathentry exported="true" kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
    	<classpathentry exported="true" kind="lib" path="lib/apache-log4j-1.2.15/log4j-1.2.15.jar"/>
    	<classpathentry exported="true" kind="lib" path="lib/castor-1.3/castor-1.3-anttasks.jar"/>
    	<classpathentry exported="true" kind="lib" path="lib/castor-1.3/castor-1.3-codegen.jar"/>
    	<classpathentry exported="true" kind="lib" path="lib/castor-1.3/castor-1.3-core.jar"/>
    	<classpathentry exported="true" kind="lib" path="lib/castor-1.3/castor-1.3-ddlgen.jar"/>
    	<classpathentry exported="true" kind="lib" path="lib/castor-1.3/castor-1.3-jdo.jar"/>
    	<classpathentry exported="true" kind="lib" path="lib/castor-1.3/castor-1.3-xml-schema.jar"/>
    	<classpathentry exported="true" kind="lib" path="lib/castor-1.3/castor-1.3-xml.jar"/>
    	<classpathentry exported="true" kind="lib" path="lib/castor-1.3/castor-1.3.jar"/>
    	<classpathentry exported="true" kind="lib" path="lib/castor-1.3/jta1.0.1.jar"/>
    	<classpathentry exported="true" kind="lib" path="lib/commons-logging-1.1.1-bin/commons-logging-1.1.1-javadoc.jar"/>
    	<classpathentry exported="true" kind="lib" path="lib/commons-logging-1.1.1-bin/commons-logging-1.1.1-sources.jar"/>
    	<classpathentry exported="true" kind="lib" path="lib/commons-logging-1.1.1-bin/commons-logging-1.1.1.jar"/>
    	<classpathentry exported="true" kind="lib" path="lib/commons-logging-1.1.1-bin/commons-logging-adapters-1.1.1.jar"/>
    	<classpathentry exported="true" kind="lib" path="lib/commons-logging-1.1.1-bin/commons-logging-api-1.1.1.jar"/>
    	<classpathentry exported="true" kind="lib" path="lib/commons-logging-1.1.1-bin/commons-logging-tests.jar"/>
    	<classpathentry kind="output" path="bin"/>
    </classpath>

  4. #4
    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
    Citation Envoyé par anisse4 Voir le message
    Mais j'avais bien ajouté tous mes jar dans mon classpath:
    Euh... C'est quoi ce fichier XML ????



    Les librairies externes doivent être indiqué dans l'attribut Class-Path de ton manifest, (en chemin relatif par rapport à ton jar principal).

    a++

  5. #5
    Membre averti
    Inscrit en
    Août 2008
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 21
    Par défaut
    Citation Envoyé par adiGuba Voir le message
    Euh... C'est quoi ce fichier XML ????



    Les librairies externes doivent être indiqué dans l'attribut Class-Path de ton manifest, (en chemin relatif par rapport à ton jar principal).

    a++
    c'est le fichier .classpath qui se génère tout seul lorsque j'ajoute mes librairies depuis eclipse>Java Build Path> Add Jars

    Je vous ai fait une copie pour voir ce que j'avais comme jar uniquement

  6. #6
    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
    Donc ca concerne eclipse et uniquement lui...


    Il faut voir comment tu génères ton jar, car ces librairies ne sont plus référencées (comme je l'ai dit elle devrait l'être dans le manifest).


    a++

  7. #7
    Rédacteur
    Avatar de CyberChouan
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    2 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 752
    Par défaut
    Le problème vient bien du classpath, mais pas de la classe ESTDCreation.

    Dans ton classpath, il te manque la librairie Apache "Commons Logging" qui est utilisée par ta classe ESTDCreation.

    Il faut lancer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    java -classpath "D:\blabla\workspace\monprojet\bin;D:\...\commons-logging.jar" fbn.jar
    Avant de poster, pensez à regarder la FAQ, les tutoriaux, la Javadoc (de la JRE que vous utilisez) et à faire une recherche
    Je ne réponds pas aux questions techniques par MP: les forums sont faits pour ça
    Mes articles et tutoriaux & Mon blog informatique

Discussions similaires

  1. Mais quelle est cette table ?
    Par kirareuel dans le forum Requêtes et SQL.
    Réponses: 8
    Dernier message: 22/01/2014, 18h04
  2. Mais quelle est cette balise ? '<#'
    Par Ska_Dg dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 10/04/2012, 10h24
  3. "resolves to a package" mais c'est une classe !
    Par Invité dans le forum Tomcat et TomEE
    Réponses: 4
    Dernier message: 18/04/2008, 11h50
  4. [VS 2005 Pro]Mais où est le designer de classes?
    Par khazna dans le forum Visual Studio
    Réponses: 2
    Dernier message: 26/02/2008, 08h38
  5. Réponses: 6
    Dernier message: 06/09/2006, 19h27

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