2011-07-07 6 views
0

Nous essayons de construire une application jsf modulaire. L'application se compose d'un fichier war et de plusieurs fichiers jar. Chaque fichier jar contient des pages .xhtml, des beans associés et des fichiers de configuration comme faces-config.xml, web-fragment.xml et pretty-config.xml. Lorsque ces fichiers jar sont placés dans WEB-INF/lib, tout fonctionne correctement. Cependant, nous devons déployer les fichiers jar indépendamment de la guerre (comme un système de plugin).Applications JSF modulaires avec Jboss

Dans jboss 6, nous avons essayé de placer les fichiers jar dans le dossier de déploiement. Nous avons pu voir les pages .xhtml qui se trouvaient dans le fichier jar (toutes les applications déployées partagent le même domaine de classe). Toutefois, le jar n'a pas été analysé pour les annotations jsf et le FacesContext n'a pas été correctement initialisé.

Nous avons également essayé de déployer notre application avec une configuration similaire dans jboss 7, mais nous avons rencontré d'autres problèmes. Les fichiers de propriétés qui se trouvent dans le fichier jar n'ont pas été chargés et, pour une raison quelconque, les beans CDI sont toujours résolus à null. Ce serait bien si nous pouvions créer une application web composée de modules réutilisables qui ne sont pas empaquetés pendant la guerre.

Toutes les suggestions sont les bienvenues.

Merci à l'avance.

+0

duplication possible de [Comment créer une application JSF 2.0 modulaire?] (Http://stackoverflow.com/questions/6199458/how-to-create-a- modular-jsf-2-0-application) – BalusC

+0

Nous utilisons également CDI et nous avons inclus un ResourceResolver personnalisé. La seule différence est que nous plaçons les fichiers jar en dehors du dossier WEB-INF/lib de la guerre. – dimitra

Répondre

0

Votre application possède-t-elle son propre chargeur de classe? Il semble vraiment que vous deviez dire à Java comment trouver les fichiers JAR pour y parvenir, ce qui signifie soit OSGi, soit une autre sorte d'arrangement de chargeur de classes personnalisées.

Il ne s'agit pas d'un problème inhabituel, et il existe plusieurs implémentations de systèmes de plug-in de chargeur de classe personnalisée. Vous voudrez peut-être lire des implémentations existantes telles que

Questions connexes