Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

jar dans jar

9 réponses
Avatar
CB
Bonjour,

J'aimerai r=E9f=E9rencer une classe dans une webapp qui est d=E9finie dans
un jar qui est dans un jar.

En clair: j'ai d=E9compos=E9 mon application en 3: presentation,
persistance et business.
Presentation =3D webapp
persistance =3D .jar
business =3D .jar

Dans mon jar de persistance, je fais r=E9f=E9rence =E0 d'autres jar (par
exemple des jar d'Hibernate).
J'ai donc un jar dans un jar. J'ai cr=E9=E9 un fichier de manifest.

Malheureusement je n'arrive pas =E0 appeler la classe qui est dans le
jar du jar depuis ma webapp.

Avez-vous une id=E9e?

PS: Je ne veux pas d=E9compiler mes jar dans mon jar principal. Je ne
veux pas non plus mettre tous les jar dans la webapp.

CB+

9 réponses

Avatar
alexandre cartapanis
Bonjour,

J'aimerai référencer une classe dans une webapp qui est définie d ans
un jar qui est dans un jar.

En clair: j'ai décomposé mon application en 3: presentation,
persistance et business.
Presentation = webapp
persistance = .jar
business = .jar

Dans mon jar de persistance, je fais référence à d'autres jar (pa r
exemple des jar d'Hibernate).
J'ai donc un jar dans un jar. J'ai créé un fichier de manifest.

Malheureusement je n'arrive pas à appeler la classe qui est dans le
jar du jar depuis ma webapp.

Avez-vous une idée?

PS: Je ne veux pas décompiler mes jar dans mon jar principal. Je ne
veux pas non plus mettre tous les jar dans la webapp.

CB+



Pas possible sans décompression...

--
Alexandre CARTAPANIS - Responsable Système et Réseau
Email
Gsm. 06 72 07 51 55

Macymed SARL - 9 bvd Kraëmer 13014 Marseille France
Tél. 04 91 48 31 58 - Fax. 04 91 02 36 47
Web http://www.macymed.fr - Email

Avatar
CB
Ok! Dommage!
Merci...
Avatar
Didier Bolf
"CB" wrote in message
news:
Bonjour,

J'aimerai référencer une classe dans une webapp qui est définie dans
un jar qui est dans un jar.


tu écris un classloader qui fait ça
voir http://www.javaworld.com/javaworld/javatips/jw-javatip70.html
ça peut aider

dans le jar, tu lis son manifest et tu loades toi même les classes qui sont
dans les jar qui sont dans Class-path

(eclipse fait ça, tu dois pouvoir t'aider des ses sources)

Avatar
alexandre cartapanis
"CB" wrote in message
news:
Bonjour,

J'aimerai référencer une classe dans une webapp qui est définie dans
un jar qui est dans un jar.


tu écris un classloader qui fait ça
voir http://www.javaworld.com/javaworld/javatips/jw-javatip70.html
ça peut aider

dans le jar, tu lis son manifest et tu loades toi même les classes qu i sont
dans les jar qui sont dans Class-path

(eclipse fait ça, tu dois pouvoir t'aider des ses sources)




Heu je sais pas si t'as lu l'article, mais il explique comment charger
une classe a partir d'un jar, pas d'un jar dans un jar (sans
décompression). Après effectivement ils expliquent aussi comment
décompresser...

L'attribut classpath d'un fichier manifest ne parle pas de l'intérieur
du jar. Par exemple, voici un répertoire:

app.jar
lib.jar

Le manifest de app.jar contient "Class-Path:../lib.jar"
Il permet lancer l'appli avec un simple "java app.jar" sans devoir
rajouter le "-cp $CLASSPATH:lib.jar".

Il n'est pas possible de mettre lib.jar DANS app.jar et de mettre un
"Class-Path: lib.jar". Ca ne marche pas.




--
Alexandre CARTAPANIS - Responsable Système et Réseau
Email
Gsm. 06 72 07 51 55

Macymed SARL - 9 bvd Kraëmer 13014 Marseille France
Tél. 04 91 48 31 58 - Fax. 04 91 02 36 47
Web http://www.macymed.fr - Email


Avatar
TestMan
Bonjour,

Pourquoi ne pas utiliser tout simplement le format WAR ?
C'est justement un "JAR" de JAR non ;-)

L'ensemble des 3 JAR présent dans son WEB-INF/lib sont automatiquement
présenté sur le classpath de la webapp par le moteur de servlet ou le
serveur d'appli.

A+

TM

Bonjour,

J'aimerai référencer une classe dans une webapp qui est définie dans
un jar qui est dans un jar.

En clair: j'ai décomposé mon application en 3: presentation,
persistance et business.
Presentation = webapp
persistance = .jar
business = .jar

Dans mon jar de persistance, je fais référence à d'autres jar (par
exemple des jar d'Hibernate).
J'ai donc un jar dans un jar. J'ai créé un fichier de manifest.

Malheureusement je n'arrive pas à appeler la classe qui est dans le
jar du jar depuis ma webapp.

Avez-vous une idée?

PS: Je ne veux pas décompiler mes jar dans mon jar principal. Je ne
veux pas non plus mettre tous les jar dans la webapp.

CB+



Avatar
alexandre cartapanis
Bonjour,

Pourquoi ne pas utiliser tout simplement le format WAR ?
C'est justement un "JAR" de JAR non ;-)

L'ensemble des 3 JAR présent dans son WEB-INF/lib sont automatiquemen t
présenté sur le classpath de la webapp par le moteur de servlet ou le
serveur d'appli.


Encore une fois, le war est décompressé...


A+

TM

Bonjour,

J'aimerai référencer une classe dans une webapp qui est définie dans
un jar qui est dans un jar.

En clair: j'ai décomposé mon application en 3: presentation,
persistance et business.
Presentation = webapp
persistance = .jar
business = .jar

Dans mon jar de persistance, je fais référence à d'autres jar (p ar
exemple des jar d'Hibernate).
J'ai donc un jar dans un jar. J'ai créé un fichier de manifest.

Malheureusement je n'arrive pas à appeler la classe qui est dans le
jar du jar depuis ma webapp.

Avez-vous une idée?

PS: Je ne veux pas décompiler mes jar dans mon jar principal. Je ne
veux pas non plus mettre tous les jar dans la webapp.

CB+





--
Alexandre CARTAPANIS - Responsable Système et Réseau
Email
Gsm. 06 72 07 51 55

Macymed SARL - 9 bvd Kraëmer 13014 Marseille France
Tél. 04 91 48 31 58 - Fax. 04 91 02 36 47
Web http://www.macymed.fr - Email


Avatar
Christophe Roudet
voir http://one-jar.sourceforge.net/ et
http://64.18.163.122/rgagnon/javadetails/java-0409.html si cela peut aider.

Christophe

"CB" wrote in message
news:
Bonjour,

J'aimerai référencer une classe dans une webapp qui est définie dans
un jar qui est dans un jar.

En clair: j'ai décomposé mon application en 3: presentation,
persistance et business.
Presentation = webapp
persistance = .jar
business = .jar

Dans mon jar de persistance, je fais référence à d'autres jar (par
exemple des jar d'Hibernate).
J'ai donc un jar dans un jar. J'ai créé un fichier de manifest.

Malheureusement je n'arrive pas à appeler la classe qui est dans le
jar du jar depuis ma webapp.

Avez-vous une idée?

PS: Je ne veux pas décompiler mes jar dans mon jar principal. Je ne
veux pas non plus mettre tous les jar dans la webapp.

CB+
Avatar
TestMan
Bonsoir,

Bonjour,

Pourquoi ne pas utiliser tout simplement le format WAR ?
C'est justement un "JAR" de JAR non ;-)

L'ensemble des 3 JAR présent dans son WEB-INF/lib sont automatiquement
présenté sur le classpath de la webapp par le moteur de servlet ou le
serveur d'appli.


Encore une fois, le war est décompressé...


Tu veux dire "éclaté" ?

Celà ne réponde pas à ma question initiale. A toi de voir ...

A+

TM


Avatar
Didier Bolf
"alexandre cartapanis" wrote in message
news:444fa744$0$19711$
Bonjour,

J'aimerai référencer une classe dans une webapp qui est définie dans
un jar qui est dans un jar.


tu écris un classloader qui fait ça
voir http://www.javaworld.com/javaworld/javatips/jw-javatip70.html
ça peut aider

dans le jar, tu lis son manifest et tu loades toi même les classes qui
sont
dans les jar qui sont dans Class-path

(eclipse fait ça, tu dois pouvoir t'aider des ses sources)


Heu je sais pas si t'as lu l'article, mais il explique comment charger une
classe a partir d'un jar, pas d'un jar dans un jar (sans décompression).
Après effectivement ils expliquent aussi comment décompresser...

L'attribut classpath d'un fichier manifest ne parle pas de l'intérieur du
jar. Par exemple, voici un répertoire:
...


ben oui, ça c'est la théorie, je sais bien que ça marche pas sans un
*petit* effort :) ?

donc je répète, ça marche si tu fais l'effort (à la louche ça doit prendre
une heure de boulot) d'écrire ton propre classloader. et dis pas que
c'est pas possible je l'ai fait il y a quelque temps :)

a+