2013-06-18 12 views
5

मैं जेएसएफ 1.2 और प्राइमफेसेस 3.5 का उपयोग करके एक नमूना आवेदन विकसित कर रहा हूं। मेरे पास मेरे डेस्कटॉप में आरएडी है और एक नई गतिशील वेब परियोजना बनाई है। मैंने प्राइफेस एडिटर टैग के साथ एक्सएचटीएमएल फाइल लिखी है। लेकिन, जब मैंने प्रोजेक्ट चलाया .. यह FacesServlet के लिए "java.lang.ClassNotFoundException" फेंक रहा है हालांकि सर्विसलेट क्लासपाथ में मौजूद है।फेस सर्विस - क्लास नॉटफाउंड अपवाद

मेरे web.xml इस

<?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> 

तरह लग रहा है और मेरे HelloWorld.xhtml इस

<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> 

मैं अपने 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-सरल-1.7.5.jar
primefaces-3.5.jar

और जब मैं बिल्ला 6.0 रेड में का उपयोग कर भाग गया, यह अपवाद नीचे फेंक है ..

SEVERE: Error loading WebappClassLoader 
    delegate: false 
    repositories: 
    /WEB-INF/classes/ 
----------> Parent Classloader: 
[email protected] 
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) 

प्रमुख चेहरे के घटक भी आरएडी में प्रश्न चिह्न के रूप में प्रदर्शित होते हैं। मैंने Google में सभी संभावित समाधानों की कोशिश की, लेकिन यह मेरे लिए काम नहीं किया है। कृपया मुझे सही करें जहां मैं गलत कर रहा हूं ..

धन्यवाद।

+0

प्राइमफेस 3.5 जेएसएफ 1.2 के तहत नहीं चलाया जा सकता है, आपको जेएसएफ 2.X की आवश्यकता है। –

+1

ओह मुझे इसके बारे में पता नहीं है। मुझे 2.0 जार जोड़ने और कोशिश करने की कोशिश करें। – samuelebe

+0

एलेक्स: मैं myfaces-2.1.2.jar और FacesServlet का उपयोग कर रहा हूँ उस जार से आता है। तो, मुझे लगता है कि जेएसएफ 2.1 जार का उपयोग कर रहा हूँ। – samuelebe

उत्तर

0

आप जेएसएफ-इम्प्लार्जर और जेएसएफ-एपीआई.जर का उपयोग करने की आवश्यकता है क्योंकि आप जेएसएफ 1.2 का उपयोग कर रहे हैं। अन्य लोगों को यह समस्या this भी पढ़ रही है जो असंगतता के बारे में बात करती है और आप यहां वर्णित वही त्रुटि निर्दिष्ट करते हैं। उम्मीद है कि इससे आपको इस क्लास नॉटफाउंड त्रुटि को हल करने में मदद मिलेगी।

+1

क्या आप एक टिप्पणी प्रदान करेंगे क्योंकि आपने मुझे क्यों चिह्नित किया है, इसलिए मैं आपकी प्रतिक्रिया के आधार पर अपना उत्तर अपडेट कर सकता हूं? (अग्रिम में धन्यवाद) –

1

चेहरे सर्वलेट वर्ग क्या आप जार myfaces-api-2.1.12.jar, myfaces-impl-2.1.12.jar

जोड़ा से मान्यता प्राप्त नहीं है करने के लिए WEB-INF/lib

डाउनलोड jsf-impl-2.2.5, jsf-api-2.2.5 या Maven निर्भरता jsf-api से जार नीचे जोड़े, jsf-impl

0

अगर आप classnotfoundExecption त्रुटि मिलती है सर्वलेट्स के लिए हमेशा जांच करें कि आपने
012 में पुस्तकालयों को जोड़ा हैफ़ोल्डर ...

जार पथ का निर्माण करने के लिए जोड़ा सर्वर घटकों के लिए उपलब्ध नहीं हैं ....

आप स्पष्ट रूप से केवल WEB-INF/lib फ़ोल्डर में जार जोड़ना होगा ...

5

यह समस्या मेरे लिए हुई क्योंकि मैंने परियोजना के गुणों में तैनाती विकल्प में पथ प्रदान नहीं किया है:

प्रोजेक्ट पर राइट क्लिक करें ---> "गुण" चुनें -> तैनाती असेंबली -> "एडीडी" विकल्प -> "जावा बिल्ड" का चयन करें पथ प्रविष्टियां "-> पथ का चयन करें

संबंधित मुद्दे