J'ai une application Web dans le cadre Struts2 dans Netbeans 7.0.1. Cela fonctionnait bien. Mais tout à coup, le Tomcat a commencé à donner l'erreur suivante:
SEVERE: Error configuring application listener of class com.sun.faces.config.ConfigureListener java.lang.ClassNotFoundException: com.sun.faces.config.ConfigureListener at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1676) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1521) at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:415) at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:397) at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:118) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4660) at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5226) at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5221) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) at java.util.concurrent.FutureTask.run(FutureTask.java:166) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:722)
3 Réponses :
La bibliothèque de mise en œuvre de la JSF est manquante dans votre application (il devrait être dans Web-Inf \ Lib \ Répertoire de l'application). Si vous démarrez une application de Netbeans, cette bibliothèque (JSF-IMPL.JAR?) Est configurée dans le projet de classePath of NetBeans, il n'y avait donc aucune erreur. P>
Mais je n'utilise aucun JSF dans ma demande
Avez-vous d'autres applications déployées sur Tomcat?
Sa fonctionne bien maintenant. J'ai désinstallé Netbeans avec Tomcat et fait un nouveau projet. Mais je ne sais toujours pas quelle était exactement la raison derrière l'erreur
J'ai essayé de créer un nouveau projet Maven à l'aide de Struts2 + Hibernate, mais d'obtenir cette erreur.
avait le même problème. Vous avez probablement utilisé NetBeans pour Auto Ajoutez cette dépendance avec la portée par défaut 'Compiler' 'et il a cassé Tomcat:
<dependency> <groupId>javax</groupId> <artifactId>javaee-api</artifactId> <version>6.0</version> </dependency>
Merci, mais pourquoi cela se passe-t-il?
@KorayTugay: JAVAEE-API JAR a besoin de JARS JSF, donc si vous ajoutez Javaee-API JAR dans votre projet, vous devez ajouter également JSF JAR. Ainsi, en ajoutant des pots JSF ou en supprimant Javaee-API JAR au moment de l'exécution (offrir une portée fournie) résoudra ce problème. La portée "fournie" dans Maven signifie que vous avez besoin du pot pour la compilation, mais au moment de l'exécution, il y a déjà un bocal fourni par l'environnement, de sorte que vous n'en avez pas besoin d'emballage avec votre application afin de ne pas être copiée dans le dossier LIB.
<dependency> <groupId>com.sun.faces</groupId> <artifactId>jsf-impl</artifactId> <version>2.1.6</version> is worked for me, you can change version as it release new versions.
DUP possible: Stackoverflow.com/questions/11777844/...