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 :

Commande jar --> java.io.IOException: invalid header field


Sujet :

Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2008
    Messages
    38
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2008
    Messages : 38
    Points : 31
    Points
    31
    Par défaut Commande jar --> java.io.IOException: invalid header field
    Bonjour,

    Je souhaite faire un fichier jar d'un projet que je viens de terminer.
    Il fallait que j'incluse dans mon jar l'API JFreeChart donc en cherchant un peu j'ai vu qu'il fallait creer un fichier MANIFEST.MF, je l'ai édité de cette facon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Manifest-Version: 1.0
    Created-By: Adrien_Bertin
    Main-Class: Main
    Class-Path: jfreechart-1.0.8/jfreechart-1.0.8/lib/jcommon-1.0.12.jar
    jfreechart-1.0.8/jfreechart-1.0.8/lib/jfreechart-1.0.8.jar
    Puis je tape ma commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    jar -cvmf MANIFEST.MF CAIPF.jar *.class jfreechart-1.0.8/
    Et voila la reponse :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    java.io.IOException: invalid header field
            at java.util.jar.Attributes.read(Attributes.java:389)
            at java.util.jar.Manifest.read(Manifest.java:167)
            at java.util.jar.Manifest.<init>(Manifest.java:52)
            at sun.tools.jar.Main.run(Main.java:123)
            at sun.tools.jar.Main.main(Main.java:903)
    Qu'est ce qui cloche ?

    Merci

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2007
    Messages : 149
    Points : 167
    Points
    167
    Par défaut
    Salut, il me semble que j'avais galéré sur un truc, il fallait que je passe une ligne à la fin de mon manifest (ligne vide quoi). C'est peut être juste ca. Sinon pour info voila ce qui marchait chez moi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Manifest-Version: 1.0
    Main-Class: perso.delwyn.serveur.Run
    Class-Path: .\lib\log4j.jar
    Mon site : TKT-Web =)

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2007
    Messages : 149
    Points : 167
    Points
    167
    Par défaut
    Un petit complément d'info, pour lancer mon jar j'utilisais la commande :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    cd C:\Data\Chat_perso\client
    C:\Data\Java2sdk14206\bin\java.exe -jar chat.jar
    Sachant qu'il faut que C:\Data\Chat_perso\client\lib\log4j.jar existe (dans mon exemple biensur)
    Mon site : TKT-Web =)

  4. #4
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2008
    Messages
    38
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2008
    Messages : 38
    Points : 31
    Points
    31
    Par défaut
    Merci pour ta reponse mais toujours l'erreur a la creation du jar .. =/

  5. #5
    Membre expérimenté
    Avatar de muad'dib
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2003
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2003
    Messages : 1 011
    Points : 1 375
    Points
    1 375
    Par défaut
    Ce serait pas parce que tu as
    Class-Path: jfreechart-1.0.8/jfreechart-1.0.8/lib/jcommon-1.0.12.jar
    jfreechart-1.0.8/jfreechart-1.0.8/lib/jfreechart-1.0.8.jar
    sur 2 lignes par hasard ?

  6. #6
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Si tu veux un header sur plusieur ligne, fini la première ligne par \ et commence la suivante par un espace. De plus, au vu de ta première commande, tu inclue le jar de jfreechart dans le jar principal, on ne fait pas çà. Le plus simple c'est de mettre les jars de JFreeChart au même endroit que ton jar final et de mettre ce header:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Class-Path: ./jcommon-1.0.12.jar,./jfreechart-1.0.8.jar

  7. #7
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2008
    Messages
    38
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2008
    Messages : 38
    Points : 31
    Points
    31
    Par défaut
    Probleme résolu, merci a vous

  8. #8
    Futur Membre du Club
    Profil pro
    Concepteur
    Inscrit en
    Décembre 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Concepteur

    Informations forums :
    Inscription : Décembre 2007
    Messages : 9
    Points : 9
    Points
    9
    Par défaut Expérience perso
    Bonjour c'est en cherchant une solution à mon problème que je suis tombé ici et j'avoue qu'aucune de vos solutions n'as fonctionnées pour moi. C'est pourquoi je vous donne la solution qui fonctionne pour mon projet :

    Voici donc le contenu de mon manifest fait main !

    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
    Manifest-Version: 1.0
    Main-Class: com.xxxxx.aee.prototype.PrototypeAEE
    Class-Path: lib/activation.jar lib/Jace.jar lib/javaapi.jar lib/listener.jar lib-jboss/log4j.jar 
     lib/javaapi.jar lib/listener.jar lib/p8cjares.jar lib/wasp.jar lib-jboss/antlr.jar lib-jboss/avalon-framework.jar 
     lib-jboss/commons-logging.jar lib-jboss/concurrent.jar lib-jboss/ejb3-persistence.jar 
     lib-jboss/FastInfoset.jar lib-jboss/getopt.jar lib-jboss/hibernate-annotations.jar 
     lib-jboss/jacorb.jar lib-jboss/javassist.jar lib-jboss/jaxb-api.jar lib-jboss/jaxb-impl.jar 
     lib-jboss/jaxb-xjc.jar lib-jboss/jaxws-rt.jar lib-jboss/jaxws-tools.jar lib-jboss/jbossall-client.jar 
     lib-jboss/jboss-aop-client.jar lib-jboss/jboss-appclient.jar lib-jboss/jboss-aspect-jdk50-client.jar 
     lib-jboss/jboss-client.jar lib-jboss/jboss-common-core.jar lib-jboss/jbosscx-client.jar lib-jboss/jboss-deployers-client.jar 
     lib-jboss/jboss-deployers-client-spi.jar lib-jboss/jboss-deployers-core.jar lib-jboss/jboss-deployers-core-spi.jar 
     lib-jboss/jboss-deployers-vfs.jar lib-jboss/jboss-deployers-vfs-spi.jar lib-jboss/jboss-deployment.jar 
     lib-jboss/jboss-ejb3-common-client.jar lib-jboss/jboss-ejb3-core-client.jar lib-jboss/jboss-ejb3-ext-api.jar 
     lib-jboss/jboss-ejb3-ext-api-impl.jar lib-jboss/jboss-ejb3-proxy-client.jar lib-jboss/jboss-ejb3-proxy-clustered-client.jar 
     lib-jboss/jboss-ejb3-security-client.jar lib-jboss/jboss-ha-client.jar lib-jboss/jboss-ha-legacy-client.jar 
     lib-jboss/jboss-iiop-client.jar lib-jboss/jboss-integration.jar lib-jboss/jboss-j2se.jar 
     lib-jboss/jboss-jaspi-api.jar lib-jboss/jboss-javaee.jar lib-jboss/jbossjmx-ant.jar 
     lib-jboss/jboss-jsr77-client.jar lib-jboss/jboss-logging-jdk.jar lib-jboss/jboss-logging-log4j.jar 
     lib-jboss/jboss-logging-spi.jar lib-jboss/jboss-main-client.jar lib-jboss/jboss-mdr.jar 
     lib-jboss/jboss-messaging-client.jar lib-jboss/jboss-metadata.jar lib-jboss/jboss-remoting.jar 
     lib-jboss/jboss-security-spi.jar lib-jboss/jboss-serialization.jar lib-jboss/jboss-srp-client.jar 
     lib-jboss/jbosssx-as-client.jar lib-jboss/jbosssx-client.jar lib-jboss/jboss-system-client.jar 
     lib-jboss/jboss-system-jmx-client.jar lib-jboss/jbossws-common.jar lib-jboss/jbossws-framework.jar 
     lib-jboss/jbossws-jboss50.jar lib-jboss/jbossws-native-client.jar lib-jboss/jbossws-native-core.jar 
     lib-jboss/jbossws-native-jaxrpc.jar lib-jboss/jbossws-native-jaxws.jar lib-jboss/jbossws-native-jaxws-ext.jar 
     lib-jboss/jbossws-native-saaj.jar lib-jboss/jbossws-spi.jar lib-jboss/jboss-xml-binding.jar 
     lib-jboss/jettison.jar lib-jboss/jmx-client.jar lib-jboss/jmx-invoker-adaptor-client.jar 
     lib-jboss/jnp-client.jar  lib-jboss/logkit.jar 
     lib-jboss/mail.jar lib-jboss/policy.jar lib-jboss/scout.jar 
     lib-jboss/slf4j-api.jar lib-jboss/slf4j-jboss-logging.jar lib-jboss/stax-api.jar 
     lib-jboss/stax-ex.jar lib-jboss/streambuffer.jar lib-jboss/trove.jar 
     lib-jboss/wsdl4j.jar lib-jboss/wstx.jar lib-jboss/xmlsec.jar properties/
    ATTENTION sans les espace en début de lignes vous allez générer un joli : Invalid header field

    Une fois le jar exporté via eclipse voici le contenu :

    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
    Manifest-Version: 1.0
    Class-Path: lib/activation.jar lib/Jace.jar lib/javaapi.jar lib/listen
     er.jar lib-jboss/log4j.jar lib/javaapi.jar lib/listener.jar lib/p8cja
     res.jar lib/wasp.jar lib-jboss/antlr.jar lib-jboss/avalon-framework.j
     ar lib-jboss/commons-logging.jar lib-jboss/concurrent.jar lib-jboss/e
     jb3-persistence.jar lib-jboss/FastInfoset.jar lib-jboss/getopt.jar li
     b-jboss/hibernate-annotations.jar lib-jboss/jacorb.jar lib-jboss/java
     ssist.jar lib-jboss/jaxb-api.jar lib-jboss/jaxb-impl.jar lib-jboss/ja
     xb-xjc.jar lib-jboss/jaxws-rt.jar lib-jboss/jaxws-tools.jar lib-jboss
     /jbossall-client.jar lib-jboss/jboss-aop-client.jar lib-jboss/jboss-a
     ppclient.jar lib-jboss/jboss-aspect-jdk50-client.jar lib-jboss/jboss-
     client.jar lib-jboss/jboss-common-core.jar lib-jboss/jbosscx-client.j
     ar lib-jboss/jboss-deployers-client.jar lib-jboss/jboss-deployers-cli
     ent-spi.jar lib-jboss/jboss-deployers-core.jar lib-jboss/jboss-deploy
     ers-core-spi.jar lib-jboss/jboss-deployers-vfs.jar lib-jboss/jboss-de
     ployers-vfs-spi.jar lib-jboss/jboss-deployment.jar lib-jboss/jboss-ej
     b3-common-client.jar lib-jboss/jboss-ejb3-core-client.jar lib-jboss/j
     boss-ejb3-ext-api.jar lib-jboss/jboss-ejb3-ext-api-impl.jar lib-jboss
     /jboss-ejb3-proxy-client.jar lib-jboss/jboss-ejb3-proxy-clustered-cli
     ent.jar lib-jboss/jboss-ejb3-security-client.jar lib-jboss/jboss-ha-c
     lient.jar lib-jboss/jboss-ha-legacy-client.jar lib-jboss/jboss-iiop-c
     lient.jar lib-jboss/jboss-integration.jar lib-jboss/jboss-j2se.jar li
     b-jboss/jboss-jaspi-api.jar lib-jboss/jboss-javaee.jar lib-jboss/jbos
     sjmx-ant.jar lib-jboss/jboss-jsr77-client.jar lib-jboss/jboss-logging
     -jdk.jar lib-jboss/jboss-logging-log4j.jar lib-jboss/jboss-logging-sp
     i.jar lib-jboss/jboss-main-client.jar lib-jboss/jboss-mdr.jar lib-jbo
     ss/jboss-messaging-client.jar lib-jboss/jboss-metadata.jar lib-jboss/
     jboss-remoting.jar lib-jboss/jboss-security-spi.jar lib-jboss/jboss-s
     erialization.jar lib-jboss/jboss-srp-client.jar lib-jboss/jbosssx-as-
     client.jar lib-jboss/jbosssx-client.jar lib-jboss/jboss-system-client
     .jar lib-jboss/jboss-system-jmx-client.jar lib-jboss/jbossws-common.j
     ar lib-jboss/jbossws-framework.jar lib-jboss/jbossws-jboss50.jar lib-
     jboss/jbossws-native-client.jar lib-jboss/jbossws-native-core.jar lib
     -jboss/jbossws-native-jaxrpc.jar lib-jboss/jbossws-native-jaxws.jar l
     ib-jboss/jbossws-native-jaxws-ext.jar lib-jboss/jbossws-native-saaj.j
     ar lib-jboss/jbossws-spi.jar lib-jboss/jboss-xml-binding.jar lib-jbos
     s/jettison.jar lib-jboss/jmx-client.jar lib-jboss/jmx-invoker-adaptor
     -client.jar lib-jboss/jnp-client.jar  lib-jboss/logkit.jar lib-jboss/
     mail.jar lib-jboss/policy.jar lib-jboss/scout.jar lib-jboss/slf4j-api
     .jar lib-jboss/slf4j-jboss-logging.jar lib-jboss/stax-api.jar lib-jbo
     ss/stax-ex.jar lib-jboss/streambuffer.jar lib-jboss/trove.jar lib-jbo
     ss/wsdl4j.jar lib-jboss/wstx.jar lib-jboss/xmlsec.jar properties/
    Main-Class: com.xxxxx.aee.prototype.PrototypeAEE
    Le dernier répertoire properties/ contient toute ma conf externalisée au .jar, ainsi modifiableà volonté.

    Ce lien m'a beaucoup aidé, j'avoue : http://java.sun.com/docs/books/tutor...r/downman.html

    Au plaisir de vous lire à nouveau

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

Discussions similaires

  1. [POI] Erreur "java.io.IOException: Unable to read entire header"
    Par planplan95 dans le forum Environnement de Développement Intégré (EDI)
    Réponses: 3
    Dernier message: 24/02/2012, 10h45
  2. Réponses: 5
    Dernier message: 13/01/2009, 15h11
  3. java.io.StreamCorruptedException: invalid stream header: 3C3F786D
    Par *alexandre* dans le forum Entrée/Sortie
    Réponses: 1
    Dernier message: 20/03/2008, 16h49
  4. [Servlet] java.io.StreamCorruptedException: invalid stream
    Par ced2004 dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 07/01/2006, 14h02
  5. [JAR]Constantes Java
    Par Coulon Arnaud dans le forum Général Java
    Réponses: 17
    Dernier message: 20/01/2005, 17h43

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