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

Java Discussion :

problème de classpath


Sujet :

Java

  1. #1
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    130
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 130
    Points : 47
    Points
    47
    Par défaut problème de classpath
    Bonjour tous le monde.
    Le sais pas est e que c'est le bon forum où je dois posté.

    Mon problème est le suivant:
    J'utilise la commande jhove pour afficher les propriété d'un fichier donné.mais le problème que cette commande ne reconnait pas tous les extensions.
    pour cela je doit lui integré un module (classe java)qui reconnait les fichiers que je veux.
    j'ai rajouté le module, la compilation a bien marché, et j'ai rajouté quelque instruction dans le fichier .conf, comme ils ont dis.

    <module>
    <class>edu.harvard.hul.ois.jhove.module.Project.WarcValidator</class>
    </module>


    Mais quand j'essaye de lancer jhove, voila ce qu'il maffiche

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
      edu.harvard.hul.ois.jhove.JhoveException: cannot instantiate module: edu.harvard.hul.ois.jhove.module.Project.WarcValidator
      at edu.harvard.hul.ois.jhove.JhoveBase.init(Unknown Source)
      at Jhove.main(Unknown Source)
    donc je pense que c'est un problème de classpath.en plus a un certain moment ils ont dis qu'il faut faire:
    Module classes must be in the classpath used by JHOVE.
    Quelqu'un a une idéé de comment le faire??
    Merci d'avance pour votre aide.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    383
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 383
    Points : 468
    Points
    468
    Par défaut
    et bien soit tu crée une variable système "classpath" dans lequel tu mets le jar jhove qui contient toutes les classes (par exemple, si tu es sous windows) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    set CLASSPATH=.;d:\jhove\lib\jhove.jar;%CLASSPATH%
    soit tu execute le programme comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    java -classpath d:\jhove\lib\jhove.jar monpackage.MaClasse

  3. #3
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    130
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 130
    Points : 47
    Points
    47
    Par défaut
    Merci beaucoup pour votre aide,

    Je travail sous ubuntu (linux)et j'execute mon programme comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    java -classpath d:\jhove\lib\jhove.jar monpackage.MaClasse
    Mais voici ce qu'ils ont dis pour integrer le module dans jhove:
    Module classes must be in the classpath used by JHOVE.

    il faut que je rajoute ma classe à la classpath utilisé par jhove, je ne sais pas coment le faire
    j'ai trouvé un ficher(script shell) jhove.sh, voici son contenu je crois qu'il faut modifié dedan mais je ne sais pas comment.
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
     
    #!/bin/sh
     
    ########################################################################
    # JHOVE - JSTOR/Harvard Object Validation Environment
    # Copyright 2003-2004 by JSTOR and the President and Fellows of Harvard College
    # JHOVE is made available under the GNU General Public License (see the
    # file LICENSE for details)
    #
    # Copy jhove.tmpl to jhove, and replace the value of JHOVE_HOME with
    # the path to your jhove directory.
    #
    # Usage: jhove [-c config] [-m module [-p param]] [-h handler [-P param]]
    #              [-e encoding] [-H handler] [-o output] [-x saxclass]
    #              [-t tempdir] [-b bufsize] [[-krs] dir-file-or-uri [...]]
    #
    # where -c config   Configuration file pathname
    #       -m module   Module name
    #       -p param    Module-specific parameter
    #       -h handler  Output handler name (defaults to TEXT)
    #       -P param    Handler-specific parameter
    #       -o output   Output file pathname (defaults to standard output)
    #       -x saxclass SAX parser class (defaults to J2SE 1.4 default)
    #       -t tempdir  Temporary directory in which to create temporary files
    #       -b bufsize  Buffer size for buffered I/O (defaults to J2SE 1.4 default)
    #       -k          Calculate CRC32, MD5, and SHA-1 checksums
    #       -r          Display raw data flags, not textual equivalents
    #       -s          Format identification based on internal signatures only
    #       dir-file-or-uri Directory, file pathname or URI of formatted content
    #
    # Configuration constants:
     
    #JHOVE_HOME=[your directory path]/jhove
     
    #JAVA_HOME=/usr/java
    #JAVA=/usr/bin/java
     
    JHOVE_HOME=/home/user/jhove
     
    #JAVA_HOME=/usr/lib/j2se/1.4/jre      # Java JRE directory
    JAVA_HOME=/usr/lib/java/jre
    JAVA=$JAVA_HOME/bin/java             # Java interpreter
     
     
     
    #XTRA_JARS=/users/stephen/xercesImpl.jar
    EXTRA_JARS=                                                  # Extra .jar files to add to CLASSPATH
     
    # NOTE: Nothing below this line should be edited
    ########################################################################
     
    CP=${JHOVE_HOME}/bin/JhoveApp.jar:${EXTRA_JARS}
     
    # Retrieve a copy of all command line arguments to pass to the application.
     
    ARGS=""
    for ARG do
        ARGS="$ARGS $ARG"
    done
     
    # Set the CLASSPATH and invoke the Java loader.
    #{JAVA} -classpath $CP Jhove $ARGS -x org.apache.xerces.parsers.SAXParser
    ${JAVA} -classpath $CP Jhove $ARGS
    Merci.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    383
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 383
    Points : 468
    Points
    468
    Par défaut
    Essaye de modifier cette ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    EXTRA_JARS=/users/nina08/mesClasses.jar
    où /users/nina08/mesClasses.jar est bien sûr le chemin vers le jar qui contient tes classes

  5. #5
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    130
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 130
    Points : 47
    Points
    47
    Par défaut
    Merci pour votre réponse.
    moi j'ai le fichier Monprogramme.class(car je ne sais pas comment je jénère un jar)
    Je l'ai rajouté mais le même probleme.

    Je travaille avec eclipse et je suis sous ubuntu.
    Merci

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    383
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 383
    Points : 468
    Points
    468
    Par défaut
    Sous Eclipse tu selectionnes ton projet, tu fais clique-droit et tu fais "Export" puis tu selectionnes "Jar File".

  7. #7
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    130
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 130
    Points : 47
    Points
    47
    Par défaut
    Merci je l'ai créé avec la commande : jar cfv
    puis j'ai rajouté son chemin dans le fichier jhove.sh mais le problème perciste.

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    383
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 383
    Points : 468
    Points
    468
    Par défaut
    Mais c'est pas un module JHOVE ta classe, si ?

    C'est quoi cette classe : edu.harvard.hul.ois.jhove.module.Project.WarcValidator ?
    C'est celle-là qui pose problème ?

    A ce moment là, pourquoi tu dis que tu exécutes ta classe comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    java -classpath d:\jhove\lib\jhove.jar monpackage.MaClasse
    C'est quoi en fait monpackage.MaClasse dans ce cas ?

  9. #9
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    130
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 130
    Points : 47
    Points
    47
    Par défaut
    Citation Envoyé par slevy Voir le message
    Mais c'est pas un module JHOVE ta classe, si ?

    C'est quoi cette classe : edu.harvard.hul.ois.jhove.module.Project.WarcValidator ?
    C'est celle-là qui pose problème ?
    J'ai créé une classe java WarcValidator.java dans le repertoire: edu/harvard/hul/ois/jhove/module/Project

    A ce moment là, pourquoi tu dis que tu exécutes ta classe comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    java -classpath d:\jhove\lib\jhove.jar monpackage.MaClasse
    Citation Envoyé par slevy Voir le message
    C'est quoi en fait monpackage.MaClasse dans ce cas ?
    J'exécute mon programme comme ceci:
    java -classpath d:\jhove\lib\jhove.jar WarcValidator

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    383
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 383
    Points : 468
    Points
    468
    Par défaut
    Si tu dis :
    J'utilise la commande jhove...

    ...quand j'essaye de lancer jhove...
    C'est donc jhove qu'il faut exécuter (jhove.sh), avec le module que tu as créé dans son classpath.

    Et non pas essayer d'exécuter le module WarcValidator comme tu fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    java -classpath d:\jhove\lib\jhove.jar WarcValidator

  11. #11
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    130
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 130
    Points : 47
    Points
    47
    Par défaut
    Je suis désolé de ne pas etre claire.
    Oui bien sûr qu'il faut exécuter le jhove.sh, et je le lance comme ceci:
    ./jhove -c conf/jhove.conf -k test.warc

    C'est à ce moment qu'il me fiat cette erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     edu.harvard.hul.ois.jhove.JhoveException: cannot instantiate module: edu.harvard.hul.ois.jhove.module.Project.WarcValidator
      at edu.harvard.hul.ois.jhove.JhoveBase.init(Unknown Source)
      at Jhove.main(Unknown Source)
    C'est parce que j'ai créé une classe WarcValidator.java(je l'ai rajouté comme un module pour me valider certaines fichiers), mais je ne sais pas comment rajouter son classpath dans jhove.
    Merci

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    383
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 383
    Points : 468
    Points
    468
    Par défaut
    Essaye peut-être de faire pointer (dans jhove.sh) directement le classpath sur le répertoire qui contient ta classe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    EXTRA_JARS=/users/nina08/classes
    /users/nina08/classes/ contient edu/harvard/hul/ois/jhove/module/Project/WarcValidator.class

  13. #13
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    130
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 130
    Points : 47
    Points
    47
    Par défaut
    Merci slevy.
    j'ai essayé cette solution mais c'est la même erreur

Discussions similaires

  1. [EAR] NoClassDefFoundError (problème de classpath?)
    Par Bb_TiTi dans le forum Java EE
    Réponses: 3
    Dernier message: 28/03/2006, 17h38
  2. [MySQL-JDBC] Problème de CLASSPATH
    Par stukov dans le forum JDBC
    Réponses: 3
    Dernier message: 14/03/2006, 13h55
  3. [ jar ] Problème de ClassPath
    Par remyli dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 11/07/2005, 14h07
  4. [ant]Problème de classpath
    Par le Daoud dans le forum Eclipse Java
    Réponses: 36
    Dernier message: 05/07/2005, 08h34
  5. [ Eclipse ][classpath] Problème de classpath
    Par pista dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 26/04/2004, 22h18

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