Les Faces Servlet - ClassNotFound Exception
Je suis en train d'élaborer un exemple d'application utilisant JSF 1.2 et PrimeFaces 3.5. J'ai RAD dans mon bureau et a créé une nouvelle dynamique de projet web. J'ai écrit fichier xhtml avec primeface éditeur de tag. Mais, quand j'ai couru le projet.. c'est jeter "de java.lang.ClassNotFoundException" pour FacesServlet si la servlet existe dans le classpath.
Mon web.xml on dirait que cette
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<display-name>
PrimeFacesNew</display-name>
<context-param>
<param-name>javax.faces.PROJECT_STAGE</param-name>
<param-value>Development</param-value>
</context-param>
<!-- JSF mapping -->
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<!-- Map these files with JSF -->
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.xhtml</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>HelloWorld.xhtml</welcome-file>
</welcome-file-list>
</web-app>
et mon HelloWorld.xhtml ressemble à ceci
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui">
<h:head>
</h:head>
<h:body>
<h1>Hello World PrimeFaces</h1>
<h:form>
<p:editor value="This is PrimeFace editor" />
</h:form>
</h:body>
</html>
J'ai ajouté ci-dessous les pots dans mon classpath..
myfaces-api-2.1.12.jar
myfaces-impl-2.1.12.jar
myfaces-bundle-2.1.12.jar
slf4j-api-1.7.5.jar
slf4j-simple-1.7.5.jar
primefaces-3.5.jar
et quand j'ai couru à l'aide de tomcat 6.0 dans le RAD, il est en train de jeter ci-dessous exception..
SEVERE: Error loading WebappClassLoader
delegate: false
repositories:
/WEB-INF/classes/
----------> Parent Classloader:
org.apache.catalina.loader.StandardClassLoader@78a978a9
javax.faces.webapp.FacesServlet
Throwable occurred: java.lang.ClassNotFoundException: javax.faces.webapp.FacesServlet
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1358)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1204)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1083)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:981)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4045)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4351)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:516)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:566)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
at java.lang.reflect.Method.invoke(Method.java:599)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Jun 18, 2013 1:15:10 PM org.apache.catalina.core.StandardContext loadOnStartup
SEVERE: Servlet /primefaces threw load() exception
Throwable occurred: java.lang.ClassNotFoundException: javax.faces.webapp.FacesServlet
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1358)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1204)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1083)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:981)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4045)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4351)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:516)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:566)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
at java.lang.reflect.Method.invoke(Method.java:599)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Le premier visage composants sont également affichés en tant que point d'interrogation dans le RAD. J'ai essayé toutes les solutions possibles dans Google, mais cela n'a pas fonctionné pour moi. S'il vous plaît corrigez-moi où je fais de mal..
Grâce.
oh, je ne suis pas au courant de cela. Permettez-moi d'essayer d'ajouter de la 2.0 les pots et les essayer.
Alex: je suis à l'aide de myfaces-2.1.2.jar et FacesServlet vient de ce pot. Donc, je crois que suis en utilisant JSF 2.1 jar.
oui, ils devraient fournir des classes nécessaires. Sont-ils au bon endroit?
WEB-INF/lib/
ou <tomcat-root>/lib/
?J'ai placé dans le classpath(propriétés-> add external jars) et aussi, j'ai ajouté dans le module J2EE dépendances.
OriginalL'auteur samuelebe | 2013-06-18
Vous devez vous connecter pour publier un commentaire.
Ce problème s'est produite pour moi parce que je n'ai pas de fournir le chemin dans le Déploiement de l'option dans les propriétés du projet:
Clic droit sur le projet ---> sélectionnez "propriétés" --> le Déploiement de l'assemblée --> "AJOUTER l'option" --> sélectionnez "java build path" entrées --> sélectionner le chemin d'accès
OriginalL'auteur Justcurious
Faces Servlet classe n'est pas reconnu à partir de ce que vous avez ajouté des pots
myfaces-api-2.1.12.jar, myfaces-impl-2.1.12.jar
Ajouter ci-dessous les pots
WEB-INF/lib
Télécharger jsf-impl-2.2.5, jsf-api-2.2.5 ou de dépendance maven jsf-api, jsf-impl
OriginalL'auteur pudaykiran
Vous devez utiliser jsf-impl.jar et jsf-api.jar puisque vous êtes en utilisant JSF 1.2. D'autres personnes ont aussi ce problème de lecture cette qui parle d'incompatibilité et vous indique la même erreur qui ont décrit ici. Espérons que cela vous aide à résoudre ce classNotFound erreur.
OriginalL'auteur grepit
si vous obtenez
classnotfoundExecption
d'erreur pour les servlets vérifiez toujours avez-vous ajouté le nécessaireles bibliothèques dans le
WEB-INF/lib
dossier...pots ajouté au chemin de génération ne sont pas disponibles pour les composants du serveur....
vous devez ajouter explicitement les pots
WEB-INF/lib
dossier...OriginalL'auteur aps109