2010-08-09 10 views
1

J'essaye de déplacer l'ancienne application JSF v1.0 de Sun One vers JBoss 4.3 EAP qui a des jars jsf v 1.2. J'ai pu obtenir l'application pour compiler et déployer mais quand essaye de l'exécuter localement cela me donne une ClassNotFoundException (et à juste titre ainsi) pour com.sun.faces.taglib.FacesTagExtraInfoClasse JSF FacesTagExtraInfo pas en JSF 1.2 v

Il n'existe pas dans le jsf_impl.jar, comme il l'a fait dans les versions 1.0, avec 2 autres fichiers de classe. Je ne peux pas coller le vieux v dans le dossier de déploiement pour jboss (celui-ci ne fonctionne pas de cette façon et jboss se plaint de l'erreur de configuration locale, car il veut utiliser ses jars). J'ai fait quelques recherches mais je n'arrive pas à trouver une solution.

Répondre

1

Cette classe a été supprimée dans JSF 1.2 car elle est devenue superflue avec le nouveau gestionnaire de vue. Si vous obtenez cette exception, cela signifie que vous avez toujours un jsf-api.jar de la version 1.0/1.1 errant quelque part dans le chemin de classe qui a la priorité sur celui de la version 1.2 pendant la classe de chargement. Mais vous avez un jsf-impl.jar de la version 1.2 dans le classpath (probablement le serveur fourni par appserver).

Nettoyez votre chemin de classe pour se débarrasser des anciens JAR 1.0 et redémarrer. Les chemins par défaut couverts par le chemin de classe runtime de la webapp sont sous chaque Webapp/WEB-INF/lib, JDK/lib et JDK/lib/ext.

+0

Je vais essayer, merci –

+0

Eh bien, j'ai essayé, ne pas sem pour être, même fait une recherche sur la machine et les seuls jsf * .jars ou tlds étaient dans le jboss4.3 EAP –

+0

N'avez-vous pas d'autres fichiers JAR spécifiques au serveur dans les dossiers mentionnés? Retirez-les aussi. Vérifiez également les bibliothèques 'JRE'. En fait, vous ne devez pas toucher aux dossiers lib JRE/JDK par défaut. Vous ne devriez pas non plus mettre de bibliothèques spécifiques au serveur dans '/ WEB-INF/lib'. – BalusC