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 :

Manifest et Class-Path


Sujet :

Langage Java

  1. #1
    Membre à l'essai
    Inscrit en
    Décembre 2005
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 19
    Points : 10
    Points
    10
    Par défaut Manifest et Class-Path
    Bonjour,
    J'ai un petit problème avec le manifest de mon jar :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Manifest-Version: 1.0
    Main-Class: test.All.AllTests
    Class-Path: lib/selenium-java-client-driver.jar lib/junit.jar lib/selenium-server.jar
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Class-Path: lib\selenium-java-client-driver.jar lib\junit.jar lib\selenium-server.jar
    dans les deux cas quand je fais un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    java -jar TestSelnium.jar
    j'obtiens un java.lang.NoClassDefFoundError

    Alors que si je fais un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    java -cp "lib/selenium-java-client-driver.jar;lib/junit.jar;lib/selenium-server.jar;TestSelnium.jar" test.All.AllTests
    l'application se lance correctement.

    Quelqu'un sait pourquoi?

    Merci

  2. #2
    Expert éminent sénior
    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
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,



    Bizarre...

    Comment génères-tu ton jar ?
    As-tu vérifier que ton fichier MANIFEST est correcte à l'intérieur de ton jar ? (en le visualisant avec un archiveur ZIP par exemple)

    a++

    PS : Sinon pour le Class-Path il faut utiliser / qui restera portable sur tous les systèmes, même Windows

  3. #3
    Membre à l'essai
    Inscrit en
    Décembre 2005
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 19
    Points : 10
    Points
    10
    Par défaut
    merci pour ta réponse, le jar est généré a partir d'eclipse et je l'edit ensuite pour mettre le class-path (j'ai bien fait attention de terminer par un saut de ligne). Sinon il est bien au bon endroit (dans meta-inf).

  4. #4
    Expert éminent sénior
    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
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Pourrais-tu poster le stacktrace complet de l'exception...

    Sinon vérifie aussi s'il n'y a pas de différence de minuscule/majuscule dans les nom des fichiers jar (et leurs extensions)

    a++

  5. #5
    Rédacteur
    Avatar de benwit
    Profil pro
    dev
    Inscrit en
    Septembre 2004
    Messages
    1 676
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : dev

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 676
    Points : 4 265
    Points
    4 265
    Par défaut
    As tu essayé d'inclure le dossier courant "/." dans le classpath de la ligne de commande ou du jar ?

  6. #6
    Membre à l'essai
    Inscrit en
    Décembre 2005
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 19
    Points : 10
    Points
    10
    Par défaut
    alors j'ai vérifié les miniscules et majuscules, y a pas d'erreur, j'ai rajouté le ./ et ca marche toujours pas ....

    sinon voici la stack

    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: com/thoughtworks/sele
    nium/Selenium
            at java.lang.Class.getDeclaredMethods0(Native Method)
            at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
            at java.lang.Class.getMethod0(Unknown Source)
            at java.lang.Class.getMethod(Unknown Source)
            at junit.runner.BaseTestRunner.getTest(BaseTestRunner.java:99)
            at junit.swingui.TestRunner.runSuite(TestRunner.java:591)
            at junit.swingui.TestRunner.start(TestRunner.java:708)
            at junit.swingui.TestRunner.main(TestRunner.java:52)
            at junit.swingui.TestRunner.run(TestRunner.java:57)
            at test.All.AllTests.main(AllTests.java:99)

    ++

Discussions similaires

  1. Class-Path qui disparaît dans MANIFEST.MF
    Par Bash01 dans le forum Général Java
    Réponses: 1
    Dernier message: 24/04/2013, 12h24
  2. Réponses: 9
    Dernier message: 28/01/2013, 10h42
  3. [Manifest] * dans le class-path ne fonctionne pas
    Par Baptiste Wicht dans le forum Général Java
    Réponses: 4
    Dernier message: 21/07/2009, 13h23
  4. Probleme génération class path dans le manifest
    Par pyth35 dans le forum Maven
    Réponses: 4
    Dernier message: 01/07/2008, 15h12
  5. [JAR]Class-Path dans le fichier Manifest
    Par Kleb dans le forum Général Java
    Réponses: 5
    Dernier message: 08/01/2005, 08h51

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