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

  1. #21
    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 tchize_ Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    lib.castor-1.3.castor-1.3-xml-schema.jar
    Ca ne correspond pas au répertories que tu a mentionné plus tot. La valeur correct est, je pense,
    lib/castor-1.3/castor-1.3-xml-schema.jar

    pareil pour les autres.
    oui pardon j'avais fais un mauvais copier/coller.
    J'avais essayé avec des . à la place des / parce-que dans le Main-class on mettait "fbn.ESTDCreation", mais j'avais par la suite remis les /

    Pour info j'ai testé avec des . et des / , aussi bien pour Main-class que pour class-path, mais aucun ne résolvait le problème

  2. #22
    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
    oui pardon j'avais fais un mauvais copier/coller.
    J'avais essayé avec des . à la place des / parce-que dans le Main-class on mettait "fbn.ESTDCreation", mais j'avais par la suite remis les /
    Le Main-Class attend le nom d'une classe, dont les packages sont séparé par des points en Java.

    Le manifest attent un (ou plusieurs) chemin relatif vers des fichiers. Donc on utilise le / comme séparateur...

    Citation Envoyé par anisse4 Voir le message
    Pour info j'ai testé avec des . et des / , aussi bien pour Main-class que pour class-path, mais aucun ne résolvait le pb
    J'ai l'impression que tu fais plein d'essai dans tous les sens au petit bonheur la chance. Et je crains même que le code que tu nous fournis ne correspondent pas à l'erreur que tu obtiens...


    Si tu n'es pas précis on ne pourra pas l'être !

    Donc :
    • Quel est exactement ton manifest ?
    • Quel est l'erreur exact que tu obtiens ?
    • Où sont situés tes fichiers jars ?



    a++

  3. #23
    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
    Le Main-Class attend le nom d'une classe, dont les packages sont séparé par des points en Java.

    Le manifest attent un (ou plusieurs) chemin relatif vers des fichiers. Donc on utilise le / comme séparateur...


    J'ai l'impression que tu fais plein d'essai dans tous les sens au petit bonheur la chance. Et je crains même que le code que tu nous fournis ne correspondent pas à l'erreur que tu obtiens...


    Si tu n'es pas précis on ne pourra pas l'être !

    Donc :
    • Quel est exactement ton manifest ?
    • Quel est l'erreur exact que tu obtiens ?
    • Où sont situés tes fichiers jars ?



    a++
    Ouien effet ça en devient du petit bonheur la chance, je suis tellement perdu que j'en perds mon latin....

    Mon manifest:

    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
    Manifest-Version: 1.0
    Main-Class: fbn.ESTDCreation
    Class-Path: lib/apache-log4j-1.2.15/log4j-1.2.15.jar
     lib/castor-1.3/castor-1.3-anttasks.jar
     lib/castor-1.3/castor-1.3-codegen.jar
     lib/castor-1.3/castor-1.3-core.jar
     lib/castor-1.3/castor-1.3-ddlgen.jar
     lib/castor-1.3/castor-1.3-jdo.jar
     lib/castor-1.3/castor-1.3-xml-schema.jar
     lib/castor-1.3/castor-1.3-xml.jar
     lib/castor-1.3/castor-1.3.jar
     lib/castor-1.3/jta1.0.1.jar
     lib/commons-logging-1.1.1-bin/commons-logging-1.1.1-javadoc.jar
     lib/commons-logging-1.1.1-bin/commons-logging-1.1.1-sources.jar
     lib/commons-logging-1.1.1-bin/commons-logging-1.1.1.jar
     lib/commons-logging-1.1.1-bin/commons-logging-adapters-1.1.1.jar
     lib/commons-logging-1.1.1-bin/commons-logging-api-1.1.1.jar
     lib/commons-logging-1.1.1-bin/commons-logging-tests.jar
     
    Name: org/exolab/castor
    Sealed: false
     
    Name: org.apache.log4j
    Implementation-Vendor: "Apache Software Foundation"
    Implementation-Title: log4j
    Implementation-Version: 1.2.15

    L'erreur exact lors de l'execution du jar:

    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
    Manifest-Version: 1.0
    Main-Class: fbn.ESTDCreation
    Class-Path: lib/apache-log4j-1.2.15/log4j-1.2.15.jar\
     lib/castor-1.3/castor-1.3-anttasks.jar\
     lib/castor-1.3/castor-1.3-codegen.jar\
     lib/castor-1.3/castor-1.3-core.jar\
     lib/castor-1.3/castor-1.3-ddlgen.jar\
     lib/castor-1.3/castor-1.3-jdo.jar\
     lib/castor-1.3/castor-1.3-xml-schema.jar\
     lib/castor-1.3/castor-1.3-xml.jar\
     lib/castor-1.3/castor-1.3.jar\
     lib/castor-1.3/jta1.0.1.jar\
     lib/commons-logging-1.1.1-bin/commons-logging-1.1.1-javadoc.jar\
     lib/commons-logging-1.1.1-bin/commons-logging-1.1.1-sources.jar\
     lib/commons-logging-1.1.1-bin/commons-logging-1.1.1.jar\
     lib/commons-logging-1.1.1-bin/commons-logging-adapters-1.1.1.jar\
     lib/commons-logging-1.1.1-bin/commons-logging-api-1.1.1.jar\
     lib/commons-logging-1.1.1-bin/commons-logging-tests.jar\
     
    Name: org/exolab/castor
    Sealed: false
     
    Name: org.apache.log4j
    Implementation-Vendor: "Apache Software Foundation"
    Implementation-Title: log4j
    Implementation-Version: 1.2.15
    Les fichiers jar sont situés dans mon workspace ici:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    D:\Documents and Settings\toto\workspace\projet\lib
    Dans lib, se trouve les 3 répertoires:
    • apache-log4j-1.2.15
    • castor-1.3
    • commons-logging-1.1.1-bin


    Je suis d'autant plus perdu, car avant le 'pseudo' fausse manip, si maniulation il y a vraiment eu, mon manifest ressemblait à ca:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    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
    et ça fonctionnait...

  4. #24
    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
    Il manque le message d'erreur (on a 2 fois le manifest).

    [edit] Et au passage les 2 manifests sont différent. De mémoire les anti-slash à la fin des lignes sont en trop, mais il faut bien commencer la ligne suivante par un espace...

    Sinon ton fichier jar principal est donc bien situé dans ce répertoire : D:\Documents and Settings\toto\workspace\projet\


    Citation Envoyé par anisse4 Voir le message
    et ça fonctionnait...
    Ah bon !?!? Pourtant ce n'est pas ce que tu indiquais dans ton premier message...


    a++

  5. #25
    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
    Il manque le message d'erreur (on a 2 fois le manifest).

    Sinon ton fichier jar principal est donc bien situé dans ce répertoire : D:\Documents and Settings\toto\workspace\projet\



    Ah bon !?!? Pourtant ce n'est pas ce que tu indiquais dans ton premier message...


    a++
    Désolé..... voici le message d'erreur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
            at fbn.ESTDCreation.<clinit>(ESTDCreation.java:36)
    Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory
            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.

    Excuse mon amateurisme, mais qu'entends-tu par JAR principale ? le jar généré à l'export ? Si c'est ça, je le met dans un autre dossier avec les fichiers de paramètres que j'utilise (D:\Document and Settings\toto\Bureau\FBN\fbn.jar) et je l'exécute depuis ce même dossier.

    Citation Envoyé par adiGuba Voir le message
    Ah bon !?!? Pourtant ce n'est pas ce que tu indiquais dans ton premier message...
    Je ne voulais pas compliqué le post en indiquant que ça marchait et que je ne savais pas ce que j'avais fait pour que ça ne marchait plus... Donc j'avais préféré uniquement posté en détaillant le problème

  6. #26
    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
    Excuse mon amateurisme, mais qu'entends-tu par JAR principale ? le jar généré à l'export ? Si c'est ça, je le met dans un autre dossier avec les fichiers de paramètres que j'utilise (D:\Document and Settings\toto\Bureau\FBN\fbn.jar) et je l'exécute depuis ce même dossier.
    Les librairies sont référencées par rapport à ce jar principal. Donc si tu le déplaces tu dois déplacer également ces librairies.

    Si ton jar est dans D:\Document and Settings\toto\Bureau\FBN\fbn.jar alors avec Class-Path: lib/apache-log4j-1.2.15/log4j-1.2.15.jar ce dernier doit se trouver à l'emplacement suivant D:\Document and Settings\toto\Bureau\FBN\lib\apache-log4j-1.2.15\log4j-1.2.15.jar

    etc...


    Sinon comment veux-tu que la JVM retrouve ses petits...


    a++

  7. #27
    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
    Les librairies sont référencées par rapport à ce jar principal. Donc si tu le déplaces tu dois déplacer également ces librairies.

    Si ton jar est dans D:\Document and Settings\toto\Bureau\FBN\fbn.jar alors avec Class-Path: lib/apache-log4j-1.2.15/log4j-1.2.15.jar ce dernier doit se trouver à l'emplacement suivant D:\Document and Settings\toto\Bureau\FBN\lib\apache-log4j-1.2.15\log4j-1.2.15.jar

    etc...


    Sinon comment veux-tu que la JVM retrouve ses petits...


    a++

    Je pense avoir compris d'où venait le problème:
    Ma variable d'environnement Classpath contenait mes répertoires où se trouvaient tous mes jars (cette varible d'env n'existe plus pour x raison), donc même avec un manifest foireux les jar étaient retrouvés.

    Je viens de faire export "Runnable jar", à la place de ce que je faisais tout le temps c'est à dire export Jar file, et ça a fonctionné avec un jar beaucoup plus gros (qui contient donc les jars je suppose).
    Est-ce un raisonnement qui se tient?

    En tout cas mon exécutable fonctionne à nouveau

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, 19h04
  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, 11h24
  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, 12h50
  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, 09h38
  5. Réponses: 6
    Dernier message: 06/09/2006, 20h27

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