2 votes

Comment spécifier le classpath d'un module dans le fichier application.xml d'un EAR ?

J'ai donc un EAR qui contient tous mes modules. Les JARs partagés qui sont utilisés par tous les modules sont placés dans le dossier par défaut ./lib/ de l'EAR. J'ai également plusieurs versions d'un fichier JAR dont chaque module utilisera une version. Par exemple, si j'ai les guerres suivantes dans mon EAR :

project1.war
project2.war
project3.war

Et j'ai quelques fichiers JAR :

common-classes-1.0.jar
common-classes-1.1.jar

Ainsi, comment puis-je associer le projet1 à common-classes-1.0.jar, et le projet2 et le projet3 à common-classes-1.1.jar ?

Merci d'avance

1voto

skaffman Points 197885

Vous ne pouvez pas ; les EARs n'ont pas ce niveau de contrôle fin sur leur classpath, à moins que votre serveur d'applications ait des extensions non standard qui vous permettent de le faire.

C'est le type de cas d'utilisation pour lequel OSGi a été conçu, mais les EAR JavaEE standard ne peuvent pas le faire.

Votre option la plus simple est de diviser votre AER en deux, l'une avec project1.war y common-classes-1.0.jar et l'autre avec project2.war , project3.war y common-classes-1.1.jar .

1voto

Luciano Fiandesio Points 4795

Alternativement, vous pouvez "repackager" vos fichiers war pour inclure les Jars commons considérés. De cette façon, vous pouvez conserver un seul fichier EAR.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X