[La question con du jour][Zoologie] Tout mettre dans le JAR !
6 réponses
Cram TeXeD
Bonjour les gens.
Alors voilà :
D'un côté plein de jolis fichiers java bien compilés comme il faut
dans un ensemble de hiérarchie org/montruc/enplume/plumedezoizo
De l'autre toutes les zoiles p'tites librairies (en .jar, c'est mardi
gras) nécessaires à l'exécution du bazar dans le répertoire lib.
Objectif : lune, euh non, mes collègues !
A force de leur sussurer à l'oreille "viens voir ma merveille" (rien
se s*xuel !), ils veulent la voir (non rien de ...).
D'où l'idée génial de mettre tout cela dans un JAR, que nous
appelerons monjar.JAR et de leur dire
" - Hé Joe, fait 'java -jar mon.jar org.montruc.enplume.MainEtLoir' !"
Bien sur, bien sur, je vous vois arriver avec vos RTFM !!!!
Que celui qui n'a jamais essayé me jette la première classe !
Le MANIFEST.
Oui oui oui pas de pb, je l'ai et il est beau
Le premier appel à une librairie plante lamentablement :
Exception in thread "main" java.lang.NoClassDefFoundError:
org/apache/commons/logging/LogFactory
at org.apache.commons.jelly.Jelly.<clinit>(Jelly.java:88)
Alors que je précise que ca marche trés bien avec un
java -cp ${les librairies qui vont bien}
org.apache.commons.jelly.Jelly
Aors aurais-je carressé un rêve fou ?
Merci d'avance.
8:0) Cram TeXeD
- Le père Noel existe, et elle est noire -
--
"La réalité, c'est ce qui refuse de disparaître
quand on a cessé d'y croire." (Philip K.Dick)
<http://texed75.free.fr>
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Damien Lecan
D'un côté plein de jolis fichiers java bien compilés comme il faut dans un ensemble de hiérarchie org/montruc/enplume/plumedezoizo De l'autre toutes les zoiles p'tites librairies (en .jar, c'est mardi gras) nécessaires à l'exécution du bazar dans le répertoire lib. Objectif : lune, euh non, mes collègues ! A force de leur sussurer à l'oreille "viens voir ma merveille" (rien se s*xuel !), ils veulent la voir (non rien de ...).
D'où l'idée génial de mettre tout cela dans un JAR, que nous appelerons monjar.JAR et de leur dire " - Hé Joe, fait 'java -jar mon.jar org.montruc.enplume.MainEtLoir' !" Dans le tutorial java
http://java.sun.com/docs/books/tutorial/jar/basics/manifest.html "The URLs in the Class-Path header are given relative to the URL of the JAR file of the applet or application."
Supprime les lib/ dans ton classpath ...
Damien
D'un côté plein de jolis fichiers java bien compilés comme il faut
dans un ensemble de hiérarchie org/montruc/enplume/plumedezoizo
De l'autre toutes les zoiles p'tites librairies (en .jar, c'est mardi
gras) nécessaires à l'exécution du bazar dans le répertoire lib.
Objectif : lune, euh non, mes collègues !
A force de leur sussurer à l'oreille "viens voir ma merveille" (rien
se s*xuel !), ils veulent la voir (non rien de ...).
D'où l'idée génial de mettre tout cela dans un JAR, que nous
appelerons monjar.JAR et de leur dire
" - Hé Joe, fait 'java -jar mon.jar org.montruc.enplume.MainEtLoir' !"
Dans le tutorial java
http://java.sun.com/docs/books/tutorial/jar/basics/manifest.html
"The URLs in the Class-Path header are given relative to the URL of the
JAR file of the applet or application."
D'un côté plein de jolis fichiers java bien compilés comme il faut dans un ensemble de hiérarchie org/montruc/enplume/plumedezoizo De l'autre toutes les zoiles p'tites librairies (en .jar, c'est mardi gras) nécessaires à l'exécution du bazar dans le répertoire lib. Objectif : lune, euh non, mes collègues ! A force de leur sussurer à l'oreille "viens voir ma merveille" (rien se s*xuel !), ils veulent la voir (non rien de ...).
D'où l'idée génial de mettre tout cela dans un JAR, que nous appelerons monjar.JAR et de leur dire " - Hé Joe, fait 'java -jar mon.jar org.montruc.enplume.MainEtLoir' !" Dans le tutorial java
http://java.sun.com/docs/books/tutorial/jar/basics/manifest.html "The URLs in the Class-Path header are given relative to the URL of the JAR file of the applet or application."
Supprime les lib/ dans ton classpath ...
Damien
Cram TeXeD
aux environs de Fri, 19 Dec 2003 09:15:22 +0100, Damien Lecan frappa :
Supprime les lib/ dans ton classpath ...
A marche pas... -------------------- C:temp>java -jar jelly-dsi.jar org.apache.commons.jelly.Jelly Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogF actory at org.apache.commons.jelly.Jelly.<clinit>(Jelly.java:88)
C:temp>java -jar jelly-dsi.jar Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogF actory at org.apache.commons.jelly.Jelly.<clinit>(Jelly.java:88)
C:temp>java -cp jelly-dsi.jar org.apache.commons.jelly.Jelly Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogF actory at org.apache.commons.jelly.Jelly.<clinit>(Jelly.java:88) --------------------
8:0/ Cram TeXeD -- "La réalité, c'est ce qui refuse de disparaître quand on a cessé d'y croire." (Philip K.Dick) <http://texed75.free.fr>
cilovie
Si j'ai bien tout compris, les liens ci-dessous vont t'aider : http://maven.apache.org/reference/plugins/uberjar/ http://classworlds.codehaus.org/
"Cram TeXeD" a écrit dans le message de news:
Bonjour les gens.
Alors voilà : D'un côté plein de jolis fichiers java bien compilés comme il faut dans un ensemble de hiérarchie org/montruc/enplume/plumedezoizo De l'autre toutes les zoiles p'tites librairies (en .jar, c'est mardi gras) nécessaires à l'exécution du bazar dans le répertoire lib. Objectif : lune, euh non, mes collègues ! A force de leur sussurer à l'oreille "viens voir ma merveille" (rien se s*xuel !), ils veulent la voir (non rien de ...).
D'où l'idée génial de mettre tout cela dans un JAR, que nous appelerons monjar.JAR et de leur dire " - Hé Joe, fait 'java -jar mon.jar org.montruc.enplume.MainEtLoir' !"
Bien sur, bien sur, je vous vois arriver avec vos RTFM !!!! Que celui qui n'a jamais essayé me jette la première classe !
Le MANIFEST. Oui oui oui pas de pb, je l'ai et il est beau
Le premier appel à une librairie plante lamentablement : Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory at org.apache.commons.jelly.Jelly.<clinit>(Jelly.java:88)
Alors que je précise que ca marche trés bien avec un java -cp ${les librairies qui vont bien} org.apache.commons.jelly.Jelly
Aors aurais-je carressé un rêve fou ?
Merci d'avance.
8:0) Cram TeXeD - Le père Noel existe, et elle est noire - -- "La réalité, c'est ce qui refuse de disparaître quand on a cessé d'y croire." (Philip K.Dick) <http://texed75.free.fr>
Si j'ai bien tout compris, les liens ci-dessous vont t'aider :
http://maven.apache.org/reference/plugins/uberjar/
http://classworlds.codehaus.org/
"Cram TeXeD" <texed75nonpassarian@icinonplusyahoo.com> a écrit dans le
message de news: gf93uv0dt46t3t7reh3bphta3i2uq8jpkk@4ax.com...
Bonjour les gens.
Alors voilà :
D'un côté plein de jolis fichiers java bien compilés comme il faut
dans un ensemble de hiérarchie org/montruc/enplume/plumedezoizo
De l'autre toutes les zoiles p'tites librairies (en .jar, c'est mardi
gras) nécessaires à l'exécution du bazar dans le répertoire lib.
Objectif : lune, euh non, mes collègues !
A force de leur sussurer à l'oreille "viens voir ma merveille" (rien
se s*xuel !), ils veulent la voir (non rien de ...).
D'où l'idée génial de mettre tout cela dans un JAR, que nous
appelerons monjar.JAR et de leur dire
" - Hé Joe, fait 'java -jar mon.jar org.montruc.enplume.MainEtLoir' !"
Bien sur, bien sur, je vous vois arriver avec vos RTFM !!!!
Que celui qui n'a jamais essayé me jette la première classe !
Le MANIFEST.
Oui oui oui pas de pb, je l'ai et il est beau
Le premier appel à une librairie plante lamentablement :
Exception in thread "main" java.lang.NoClassDefFoundError:
org/apache/commons/logging/LogFactory
at org.apache.commons.jelly.Jelly.<clinit>(Jelly.java:88)
Alors que je précise que ca marche trés bien avec un
java -cp ${les librairies qui vont bien}
org.apache.commons.jelly.Jelly
Aors aurais-je carressé un rêve fou ?
Merci d'avance.
8:0) Cram TeXeD
- Le père Noel existe, et elle est noire -
--
"La réalité, c'est ce qui refuse de disparaître
quand on a cessé d'y croire." (Philip K.Dick)
<http://texed75.free.fr>
Si j'ai bien tout compris, les liens ci-dessous vont t'aider : http://maven.apache.org/reference/plugins/uberjar/ http://classworlds.codehaus.org/
"Cram TeXeD" a écrit dans le message de news:
Bonjour les gens.
Alors voilà : D'un côté plein de jolis fichiers java bien compilés comme il faut dans un ensemble de hiérarchie org/montruc/enplume/plumedezoizo De l'autre toutes les zoiles p'tites librairies (en .jar, c'est mardi gras) nécessaires à l'exécution du bazar dans le répertoire lib. Objectif : lune, euh non, mes collègues ! A force de leur sussurer à l'oreille "viens voir ma merveille" (rien se s*xuel !), ils veulent la voir (non rien de ...).
D'où l'idée génial de mettre tout cela dans un JAR, que nous appelerons monjar.JAR et de leur dire " - Hé Joe, fait 'java -jar mon.jar org.montruc.enplume.MainEtLoir' !"
Bien sur, bien sur, je vous vois arriver avec vos RTFM !!!! Que celui qui n'a jamais essayé me jette la première classe !
Le MANIFEST. Oui oui oui pas de pb, je l'ai et il est beau
Le premier appel à une librairie plante lamentablement : Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory at org.apache.commons.jelly.Jelly.<clinit>(Jelly.java:88)
Alors que je précise que ca marche trés bien avec un java -cp ${les librairies qui vont bien} org.apache.commons.jelly.Jelly
Aors aurais-je carressé un rêve fou ?
Merci d'avance.
8:0) Cram TeXeD - Le père Noel existe, et elle est noire - -- "La réalité, c'est ce qui refuse de disparaître quand on a cessé d'y croire." (Philip K.Dick) <http://texed75.free.fr>
Segurane
Cram TeXeD wrote:
aux environs de Fri, 19 Dec 2003 09:15:22 +0100, Damien Lecan frappa :
Supprime les lib/ dans ton classpath ...
A marche pas... -------------------- C:temp>java -jar jelly-dsi.jar org.apache.commons.jelly.Jelly Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogF actory at org.apache.commons.jelly.Jelly.<clinit>(Jelly.java:88)
C:temp>java -jar jelly-dsi.jar Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogF actory at org.apache.commons.jelly.Jelly.<clinit>(Jelly.java:88)
C:temp>java -cp jelly-dsi.jar org.apache.commons.jelly.Jelly Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogF actory at org.apache.commons.jelly.Jelly.<clinit>(Jelly.java:88) --------------------
Comme le sous-entend plus haut Damien Lecan, le probleme vient peut etre d'une incoherence entre l'arborescence de ton application et ton fichier manifest. Tu dois sans doute savoir mais ca va mieux en le repetant, que les bibliotheques doivent etre situées à l'endroit specifiée dans la balise Class-path. Si tu as 'Class-path : uneLib.jar' dans le manifest, alors uneLib.jar sera à la racine. Deuxieme remarque, tu ne dois pas lancer ton appli avec $ java -jar mon.jar org.montruc.enplume.MainEtLoir , mais tout simplement avec $ java -jar mon.jar , le point d'entrée de l'application etant specifié par la ligne Main-class : monPack1.monSousPack1.maClasseMain.
En esperant avoir helpé,
-- Nico.
Cram TeXeD wrote:
aux environs de Fri, 19 Dec 2003 09:15:22 +0100, Damien Lecan frappa :
Supprime les lib/ dans ton classpath ...
A marche pas...
--------------------
C:temp>java -jar jelly-dsi.jar org.apache.commons.jelly.Jelly
Exception in thread "main" java.lang.NoClassDefFoundError:
org/apache/commons/logging/LogF
actory
at org.apache.commons.jelly.Jelly.<clinit>(Jelly.java:88)
C:temp>java -jar jelly-dsi.jar
Exception in thread "main" java.lang.NoClassDefFoundError:
org/apache/commons/logging/LogF
actory
at org.apache.commons.jelly.Jelly.<clinit>(Jelly.java:88)
C:temp>java -cp jelly-dsi.jar org.apache.commons.jelly.Jelly
Exception in thread "main" java.lang.NoClassDefFoundError:
org/apache/commons/logging/LogF
actory
at org.apache.commons.jelly.Jelly.<clinit>(Jelly.java:88)
--------------------
Comme le sous-entend plus haut Damien Lecan, le probleme vient peut etre
d'une incoherence entre l'arborescence de ton application et ton fichier
manifest.
Tu dois sans doute savoir mais ca va mieux en le repetant, que les
bibliotheques doivent etre situées à l'endroit specifiée dans la balise
Class-path. Si tu as 'Class-path : uneLib.jar' dans le manifest, alors
uneLib.jar sera à la racine.
Deuxieme remarque, tu ne dois pas lancer ton appli avec
$ java -jar mon.jar org.montruc.enplume.MainEtLoir
, mais tout simplement avec
$ java -jar mon.jar
, le point d'entrée de l'application etant specifié par la ligne Main-class
: monPack1.monSousPack1.maClasseMain.
Comme le sous-entend plus haut Damien Lecan, le probleme vient peut etre d'une incoherence entre l'arborescence de ton application et ton fichier manifest. Tu dois sans doute savoir mais ca va mieux en le repetant, que les bibliotheques doivent etre situées à l'endroit specifiée dans la balise Class-path. Si tu as 'Class-path : uneLib.jar' dans le manifest, alors uneLib.jar sera à la racine. Deuxieme remarque, tu ne dois pas lancer ton appli avec $ java -jar mon.jar org.montruc.enplume.MainEtLoir , mais tout simplement avec $ java -jar mon.jar , le point d'entrée de l'application etant specifié par la ligne Main-class : monPack1.monSousPack1.maClasseMain.
En esperant avoir helpé,
-- Nico.
Cram TeXeD
On Fri, 19 Dec 2003 23:42:28 +0100, < Segurane > dit :
En esperant avoir helpé,
Ben merci qd même, mais j'avais lu le même doc et c'était la version du premier manifeste. En fait le projet est mal fait (test et récup des librairies une à une) Il est comme ceci RACINE/org.apache.commons.jelly/*.class RACINE/lib/*.lib
d'où le premier manifest : Manifest-Version: 1.0 Main-Class: org.apache.commons.jelly.Jelly Class-Path: lib/velocity-1.4-dev.jar lib/commons-collections-2.0.jar lib/commons-logging-1.0.jar ...
Cram TeXeD -- "On ne peut pas ne pas communiquer" axiome n°1 de Paul Watzlawick <http://texed75.free.fr>
On Fri, 19 Dec 2003 23:42:28 +0100, < Segurane > dit :
En esperant avoir helpé,
Ben merci qd même, mais j'avais lu le même doc et c'était la version
du premier manifeste.
En fait le projet est mal fait (test et récup des librairies une à
une)
Il est comme ceci
RACINE/org.apache.commons.jelly/*.class
RACINE/lib/*.lib
d'où le premier manifest :
Manifest-Version: 1.0
Main-Class: org.apache.commons.jelly.Jelly
Class-Path: lib/velocity-1.4-dev.jar
lib/commons-collections-2.0.jar
lib/commons-logging-1.0.jar
...
Cram TeXeD
--
"On ne peut pas ne pas communiquer"
axiome n°1 de Paul Watzlawick
<http://texed75.free.fr>
On Fri, 19 Dec 2003 23:42:28 +0100, < Segurane > dit :
En esperant avoir helpé,
Ben merci qd même, mais j'avais lu le même doc et c'était la version du premier manifeste. En fait le projet est mal fait (test et récup des librairies une à une) Il est comme ceci RACINE/org.apache.commons.jelly/*.class RACINE/lib/*.lib
d'où le premier manifest : Manifest-Version: 1.0 Main-Class: org.apache.commons.jelly.Jelly Class-Path: lib/velocity-1.4-dev.jar lib/commons-collections-2.0.jar lib/commons-logging-1.0.jar ...
Cram TeXeD -- "On ne peut pas ne pas communiquer" axiome n°1 de Paul Watzlawick <http://texed75.free.fr>
Segurane
Cram TeXeD wrote:
On Fri, 19 Dec 2003 23:42:28 +0100, < Segurane > dit :
En esperant avoir helpé,
Ben merci qd même, mais j'avais lu le même doc et c'était la version du premier manifeste. En fait le projet est mal fait (test et récup des librairies une à une) Il est comme ceci RACINE/org.apache.commons.jelly/*.class RACINE/lib/*.lib
d'où le premier manifest : Manifest-Version: 1.0 Main-Class: org.apache.commons.jelly.Jelly Class-Path: lib/velocity-1.4-dev.jar lib/commons-collections-2.0.jar lib/commons-logging-1.0.jar
Ach je viens de comprendre ce que tu souhaites faire. Pour autant que je sache ce n'est pas possible en "standard", regardes donc du coté des liens fournis par cilovie. Par contre je ne vois pas ce que tu veux dire par le projet est mal fait, il semble bien structuré ce projet :)
-- Signature ennuyeuse
Cram TeXeD wrote:
On Fri, 19 Dec 2003 23:42:28 +0100, < Segurane > dit :
En esperant avoir helpé,
Ben merci qd même, mais j'avais lu le même doc et c'était la version
du premier manifeste.
En fait le projet est mal fait (test et récup des librairies une à
une)
Il est comme ceci
RACINE/org.apache.commons.jelly/*.class
RACINE/lib/*.lib
d'où le premier manifest :
Manifest-Version: 1.0
Main-Class: org.apache.commons.jelly.Jelly
Class-Path: lib/velocity-1.4-dev.jar
lib/commons-collections-2.0.jar
lib/commons-logging-1.0.jar
Ach je viens de comprendre ce que tu souhaites faire. Pour autant que je
sache ce n'est pas possible en "standard", regardes donc du coté des liens
fournis par cilovie.
Par contre je ne vois pas ce que tu veux dire par le projet est mal fait, il
semble bien structuré ce projet :)
On Fri, 19 Dec 2003 23:42:28 +0100, < Segurane > dit :
En esperant avoir helpé,
Ben merci qd même, mais j'avais lu le même doc et c'était la version du premier manifeste. En fait le projet est mal fait (test et récup des librairies une à une) Il est comme ceci RACINE/org.apache.commons.jelly/*.class RACINE/lib/*.lib
d'où le premier manifest : Manifest-Version: 1.0 Main-Class: org.apache.commons.jelly.Jelly Class-Path: lib/velocity-1.4-dev.jar lib/commons-collections-2.0.jar lib/commons-logging-1.0.jar
Ach je viens de comprendre ce que tu souhaites faire. Pour autant que je sache ce n'est pas possible en "standard", regardes donc du coté des liens fournis par cilovie. Par contre je ne vois pas ce que tu veux dire par le projet est mal fait, il semble bien structuré ce projet :)