Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1631 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Jar Classpath et Manifest

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Jar Classpath et Manifest

n°1383853
fluminis
Posté le 08-06-2006 à 15:48:58  profilanswer
 

Bonjour,
 
Je suis face à un probleme que je n'arrive pas a resoudre :
 
je cree un fichier jar "entree.jar"
Pour fonctionner celui ci necessite les classes dependance.jar (entre autre)
 
Pour lancer mon appli je fais :
 

Code :
  1. c:\java\bin\java -classpath tous;les;jars;et;dependance.jar -jar entree.jar parametres de mon appli


 
Ca fonctionne, mais je voudrais eviter de specifier un classpath de 15km de long.
J'ai donc essayé de faire un fichier META-INF/MANIFEST.MF dans mon jar mais rien n'y fait.
On dirait que je fichier manifest ne sert a rien.
 

Code :
  1. Manifest-Version: 1.0
  2. Main-Class: fr.bdf.golfi.batch.MainClass
  3. Class-Path: lib/dependance.jar
  4. lib/antlr-2.7.5H3.jar
  5. lib/asm.jar
  6. lib/asm-attrs.jar
  7. lib/c3p0-0.9.0.jar
  8. lib/cglib-2.1.2.jar
  9. lib/classes12.jar
  10. ...


et je lance mon appli :

Code :
  1. c:\java\bin\java -jar entree.jar parametre de mon appli


j'ai essayé de mettre les jar dans le repertoire lib a l'exterieur du jar => ca marche pas, je les ai mis a l'interieur ca ne marche pas plus.
 
Auriez-vous une idée ?
 
merci d'avance
 
Fluminis


---------------
http://poemes.iceteapeche.com - http://www.simuland.net
mood
Publicité
Posté le 08-06-2006 à 15:48:58  profilanswer
 

n°1384262
brisssou
8-/
Posté le 09-06-2006 à 09:53:49  profilanswer
 

je dirais une seule ligne, entrées séparées par un espace ' '


---------------
HFR - Mes sujets pour Chrome - Firefox - vérifie les nouveaux posts des topics suivis/favoris
n°1384393
fluminis
Posté le 09-06-2006 à 11:49:48  profilanswer
 

il ne veut pas et me dit 'ligne trop longue'


---------------
http://poemes.iceteapeche.com - http://www.simuland.net
n°1384405
brisssou
8-/
Posté le 09-06-2006 à 12:02:10  profilanswer
 

voilà le manifest de docman, je m'en étais inspirer quand j'ai voulu faire un manifest pour une appli perso :  

Code :
  1. Manifest-Version: 1.0
  2. Ant-Version: Apache Ant 1.5.3
  3. Created-By: Lars Trieloff
  4. Main-Class: net.trieloff.docman.gui.DocmanWindow
  5. Class-Path: lib/xercesImpl.jar lib/xmlParserAPIs.jar lib/avalon-framew
  6. ork-cvs-20020806.jar lib/xincluder.jar lib/resolver.jar lib/batik.jar
  7.   lib/xalan-2.4.1.jar conf/ lib/fop.jar lib/jimi.jar lib/swt/jface.jar
  8.   lib/swt/runtime.jar lib/swt/boot.jar lib/swt/workbench.jar lib/swt/s
  9. wt.jar lib/swt/swt-pi.jar lib/jedit.jar lib/Code2HTML.jar lib/jaxen-f
  10. ull.jar lib/saxpath.jar lib/saxon.jar lib/saxon-addon.jar


 
tu utilises un ide, ou tu fais ça à la main ? peut-être qu'un ide (genre eclipse) te formaterai ton manifest...


---------------
HFR - Mes sujets pour Chrome - Firefox - vérifie les nouveaux posts des topics suivis/favoris
n°1384442
the real m​oins moins
Posté le 09-06-2006 à 13:21:45  profilanswer
 

ou peut-être que lire la doc aiderait plus que d'essayer au hasard :sarcastic:
 
fluminis > ton jar principal (entree.jar?) se trouve ou par rapport aux autres? et tu lances ton appli depuis où?


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°1384822
fluminis
Posté le 09-06-2006 à 19:48:03  profilanswer
 

the real moins moins a écrit :

ou peut-être que lire la doc aiderait plus que d'essayer au hasard :sarcastic:
 
fluminis > ton jar principal (entree.jar?) se trouve ou par rapport aux autres? et tu lances ton appli depuis où?


 
J'essaye de :
soit faire un jar contenant tous les autres jar dont il a besoin. (suivant les sites que je lis sur le web, ca semble possible pour certains impossible pour d'autres, qu'en est-il ?)
 
soit faire un jar contenant un manifest specifiant ou trouver tous les autres jar dont il a besoin.
 

Code :
  1. entree.jar
  2. lib/dependance.jar
  3. lib/log4j.jar
  4. lib/...


et je lance mon appli depuis le repertoire racine (ou se trouve entree.jar)
 
Je travaille sous WSAD 5.1, et quelque soit les options que je coche lors de l'exportation de mon projet en jar, le manifeste cree contient au maximum la Main-Class mais pas le class path (sauf si bien sur je lui specifie un fichier Manifest de mon cru).


---------------
http://poemes.iceteapeche.com - http://www.simuland.net
n°1384823
the real m​oins moins
Posté le 09-06-2006 à 19:49:38  profilanswer
 

fluminis a écrit :

il ne veut pas et me dit 'ligne trop longue'


qui ça "il" ? [:mlc]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°1384824
fluminis
Posté le 09-06-2006 à 19:54:33  profilanswer
 

je n'ai plus le message exact en tete, j'avais ce message lors de l'execution de la commande :
java -jar entree.jar parametre de mon appli  
 
il disait : ...ReadAttribute Line too long
 
Sinon, l'erreur la plus courrante est : NoClassDefFound qui survient dès que je tente d'acceder à une classe de mon autre jar dependance.jar


---------------
http://poemes.iceteapeche.com - http://www.simuland.net
n°1384829
the real m​oins moins
Posté le 09-06-2006 à 20:07:55  profilanswer
 

forcément, si ton classpath n'est pas défini


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°1384830
the real m​oins moins
Posté le 09-06-2006 à 20:10:24  profilanswer
 

et le message d'erreur dans google, t'as essayé ... ?


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
mood
Publicité
Posté le 09-06-2006 à 20:10:24  profilanswer
 

n°1384833
fluminis
Posté le 09-06-2006 à 20:11:39  profilanswer
 

le seul hic, etant que je ne veux pas avoir a specifier de classpath (variable $CLASSPATH), je veux utiliser le manifest a l'interieur de mon archive jar... mais ca ne marche pas


---------------
http://poemes.iceteapeche.com - http://www.simuland.net
n°1384834
fluminis
Posté le 09-06-2006 à 20:13:31  profilanswer
 

la recherche google n'a rien donnée ni sur le message d'erreur, ni sur la creation d'archive jar ni sur la creation de manifest.


---------------
http://poemes.iceteapeche.com - http://www.simuland.net
n°1384841
the real m​oins moins
Posté le 09-06-2006 à 20:24:35  profilanswer
 

fluminis a écrit :

la recherche google n'a rien donnée ni sur le message d'erreur, ni sur la creation d'archive jar ni sur la creation de manifest.


euh, t'es gentil mais un peu con, ou bien?
http://www.google.com/search?q=jar%20manifest


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°1384843
the real m​oins moins
Posté le 09-06-2006 à 20:25:15  profilanswer
 

fluminis a écrit :

le seul hic, etant que je ne veux pas avoir a specifier de classpath (variable $CLASSPATH), je veux utiliser le manifest a l'interieur de mon archive jar... mais ca ne marche pas


et la directive Class-Path: dans ton manifest, tu crois que ça sert à quoi ? [:mlc]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°1384849
fluminis
Posté le 09-06-2006 à 20:46:12  profilanswer
 

Bon je vais rester calme... merci pour le "t'es gentil mais un peu con"
 
quand je dis que mes recherches google n'ont pas été fructueuses, c'est que j'y ai déjà passé deux jours avant de poster ma question ici car je tente de lire les doc avant de questionner à tout va.  
Et les RTFM généralement j'en distribue pas mal sur les forum...
 
Quand je dis pas frutueuse, j'entends 'les tonnes de pages lues' n'ont pas resolues mon probleme.
 
Donc oui, la directive Class-Path ça doit pas etre fait pour rien, oui j'ai mis ca dans mon archive jar, oui j'ai lue les docs
Mais non ça ne fonctionne pas... donc je fais surement quelquechose de travers mais je n'arrive pas a resoudre mon probleme seul d'où ma question sur ce forum.


---------------
http://poemes.iceteapeche.com - http://www.simuland.net
n°1384859
the real m​oins moins
Posté le 09-06-2006 à 21:00:49  profilanswer
 

et si tu ne mets pas *toutes* tes dépendences ? (je suppose que tu en as beaucoup, d'ou ton erreur de ligne trop longue) tu auras forcément des NoClassDefFound, mais essaie de mettre dans ton manifest/Class-Path: les premieres dependences dont ton appli à besoin pour voir s'il trouve au moins celles-là


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°1385391
darklord
You're welcome
Posté le 11-06-2006 à 12:53:51  profilanswer
 

tu fais comment pour créer ton manifest? A la main? [:mlc]
 
Parce que bon y a des outils qui gèrent ça pour toi hein (ant/maven)


---------------
Just because you feel good does not make you right
n°1385395
fluminis
Posté le 11-06-2006 à 13:02:04  profilanswer
 

hum... helas je ne connais ant que de nom, je n'ai jamais utilisé, donc pour le faire à la main, bah blocnote + winrar pour metre le fichier dans le jar... c'est pas forcement la meilleur des solution je vous l'accorde mais je n'ai pas ant sous la main au taf (et acces au net tres limité : pas de téléchargement possible)

Message cité 1 fois
Message édité par fluminis le 11-06-2006 à 13:02:29

---------------
http://poemes.iceteapeche.com - http://www.simuland.net
n°1385429
the real m​oins moins
Posté le 11-06-2006 à 16:19:57  profilanswer
 

darklord a écrit :

tu fais comment pour créer ton manifest? A la main? [:mlc]
 
Parce que bon y a des outils qui gèrent ça pour toi hein (ant/maven)


squoi le rapport avec la choucroute? évidemment qu'il a interet à le faire à la main, pour comprendre ce qu'il fait... mlc toi meme va


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°1385430
the real m​oins moins
Posté le 11-06-2006 à 16:20:33  profilanswer
 

fluminis a écrit :

hum... helas je ne connais ant que de nom, je n'ai jamais utilisé, donc pour le faire à la main, bah blocnote + winrar pour metre le fichier dans le jar... c'est pas forcement la meilleur des solution je vous l'accorde mais je n'ai pas ant sous la main au taf (et acces au net tres limité : pas de téléchargement possible)


euh, oui, pour créer ton jar, t'utilise la commande jar, hein, steplé...


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°1385438
fluminis
Posté le 11-06-2006 à 16:50:05  profilanswer
 

helas les dieux ne sont pas avec moi, je n'ai que le jre d'installé, et pas le jdk donc pas de commande jar pour moi, je passe par WSAD qui génère le jar pour moi mais je n'ai pas moyen de le faire en ligne de commande en spécifiant moi meme mes options...


---------------
http://poemes.iceteapeche.com - http://www.simuland.net
n°1385440
the real m​oins moins
Posté le 11-06-2006 à 16:52:37  profilanswer
 

...


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°1385454
brisssou
8-/
Posté le 11-06-2006 à 17:46:08  profilanswer
 

pour traduire la pensé de trmm, si t'as wsad, t'as un jdk (le jdk d'ibm).
et plus généralement, si tu compiles, t'as un jdk.
 
Sinon, WSAD te propose de préciser le manifest à inclure à ton jar lors de l'export.

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Jar Classpath et Manifest

 

Sujets relatifs
JSF + JAR : instanciation d'objetsTruc con mais très important avec un .classpath
[eclipse 3.1] Création de Jar -> trouve pas la classe mainGenerer le contenu d'un jar dans le fichier MANIFEST.MF
[ANT]Génération d'un EJB JARQuestions : Classpath et Jar executable
Protection d'un Jar ExecutableBUILD JAR file dans Netbeans 4.1
Faire un jar avec manifest grace à Eclipse 
Plus de sujets relatifs à : Jar Classpath et Manifest


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR