2011-10-18 11 views
14

मैं टॉमकैट 7, के साथ मोजाररा 2.1 का उपयोग करना चाहता हूं इसलिए मैंने अपनी पोम फ़ाइल में निम्नलिखित निर्भरताओं को जोड़ा :java.lang.ClassFormatError: विधि फ़ाइल में अनुपस्थित कोड विशेषता जो क्लास फ़ाइल में मूल या सार नहीं है javax/चेहरे/वेबएप/फेससर्वलेट

<dependency> 
     <groupId>com.sun.faces</groupId> 
     <artifactId>jsf-api</artifactId> 
     <version>2.1.2</version> 
    </dependency> 

    <dependency> 
     <groupId>com.sun.faces</groupId> 
     <artifactId>jsf-impl</artifactId> 
     <version>2.1.2</version> 
    </dependency> 

हालांकि, जब मैं बिलाव शुरू करने की कोशिश, मैं अपवाद निम्न गया:

org.apache.catalina.LifecycleException: Failed to start component [StandardServer[8007]] 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:152) 
    at org.apache.catalina.startup.Catalina.start(Catalina.java:621) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
    at java.lang.reflect.Method.invoke(Method.java:597) 
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:322) 
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:450) 
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardService[Catalina]] 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:152) 
    at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:727) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:148) 
    ... 7 more 
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina]] 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:152) 
    at org.apache.catalina.core.StandardService.startInternal(StandardService.java:443) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:148) 
    ... 9 more 
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost]] 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:152) 
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1033) 
    at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:291) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:148) 
    ... 11 more 
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/myapp]] 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:152) 
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1033) 
    at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:774) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:148) 
    ... 14 more 
Caused by: java.lang.ClassFormatError: Absent Code attribute in method that is not native or abstract in class file javax/faces/webapp/FacesServlet 
    at java.lang.ClassLoader.defineClass1(Native Method) 
    at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632) 
    at java.lang.ClassLoader.defineClass(ClassLoader.java:616) 
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) 
    at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2820) 
    at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1150) 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1645) 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1523) 
    at com.sun.faces.config.FacesInitializer.<clinit>(FacesInitializer.java:107) 
    at java.lang.Class.forName0(Native Method) 
    at java.lang.Class.forName(Class.java:247) 
    at org.apache.catalina.startup.ContextConfig.getServletContainerInitializer(ContextConfig.java:1543) 
    at org.apache.catalina.startup.ContextConfig.processServletContainerInitializers(ContextConfig.java:1466) 
    at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1285) 
    at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:896) 
    at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:322) 
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) 
    at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90) 
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5103) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:148) 
    ... 17 more 

यह कैसे के कारण होता है और मैं इसे कैसे हल कर सकते हैं?

यहाँ मेरी web.xml फ़ाइल जो समस्या का कारण हो सकती है है:

<?xml version="1.0" encoding="UTF-8"?> 

<web-app 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_3_0.xsd" 
     version="3.0"> 

    <display-name>appName</display-name> 

    <listener> 
    <listener-class> 
     org.springframework.web.context.ContextLoaderListener 
    </listener-class> 
    </listener> 

    <listener> 
    <listener-class> 
     org.springframework.web.context.request.RequestContextListener 
    </listener-class> 
    </listener> 

    <context-param> 
     <param-name>contextConfigLocation</param-name> 
     <param-value> 
     classpath:META-INF/spring/context.xml 
     classpath:META-INF/spring/security.xml 
     </param-value> 

    </context-param> 


    <context-param> 
    <param-name>javax.faces.PROJECT_STAGE</param-name> 
    <param-value>Development</param-value> 
    </context-param> 

    <welcome-file-list> 
    <welcome-file>customers</welcome-file> 
    </welcome-file-list> 

    <context-param> 
    <description>State saving method: 'client' or 'server' (=default). See JSF Specification 2.5.2</description> 
    <param-name>javax.faces.STATE_SAVING_METHOD</param-name> 
    <param-value>server</param-value> 
    </context-param> 

    <context-param> 
    <param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name> 
    <param-value>resources.application</param-value> 
    </context-param> 

    <listener> 
    <listener-class>com.sun.faces.config.ConfigureListener</listener-class> 
    </listener> 

    <context-param> 
    <param-name>javax.faces.FACELETS_SKIP_COMMENTS</param-name> 
    <param-value>true</param-value> 
    </context-param> 

    <!-- Spring Security --> 
    <filter> 
     <filter-name>springSecurityFilterChain</filter-name> 
     <filter-class> 
      org.springframework.web.filter.DelegatingFilterProxy 
     </filter-class> 
    </filter> 

    <filter-mapping> 
     <filter-name>springSecurityFilterChain</filter-name> 
     <url-pattern>/*</url-pattern> 
    </filter-mapping> 


    <filter> 
     <filter-name>Pretty Filter</filter-name> 
     <filter-class>com.ocpsoft.pretty.PrettyFilter</filter-class> 
    </filter> 

    <filter-mapping> 
    <filter-name>Pretty Filter</filter-name> 
     <url-pattern>/*</url-pattern> 
     <dispatcher>FORWARD</dispatcher> 
     <dispatcher>REQUEST</dispatcher> 
     <dispatcher>ERROR</dispatcher> 
    </filter-mapping> 


    <servlet> 
    <servlet-name>Resource Servlet</servlet-name> 
    <servlet-class>com.icesoft.faces.webapp.CompatResourceServlet</servlet-class> 
    <load-on-startup>1</load-on-startup> 
    </servlet> 

    <servlet-mapping> 
    <servlet-name>Resource Servlet</servlet-name> 
    <url-pattern>/xmlhttp/*</url-pattern> 
    </servlet-mapping> 

    <servlet> 
    <servlet-name>Faces Servlet</servlet-name> 
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class> 
    <load-on-startup>1</load-on-startup> 
    </servlet> 

    <servlet-mapping> 
    <servlet-name>Faces Servlet</servlet-name> 
    <url-pattern>/faces/*</url-pattern> 
    </servlet-mapping> 

</web-app> 
+0

आपके पास इस विषय को ट्रैक करना चाहते हो सकता है: http://stackoverflow.com/questions/7806986/maven-dependecies-for-mojarra-2-1 किसी और आज भी Maven और classpath के साथ एक ही समस्या हो रही है प्रदूषण। – BalusC

+0

[java.lang.ClassFormatError का संभावित डुप्लिकेट: विधि फ़ाइल में अनुपस्थित कोड विशेषता जो क्लास फ़ाइल में मूल या सार नहीं है javax/चेहरे/वेबएप/फेससर्वलेट] (http://stackoverflow.com/questions/8081234/java-lang- क्लासफॉर्मेटर-अनुपस्थित-कोड-विशेषता-इन-विधि-वह-नहीं-देशी-ओ) – BalusC

उत्तर

7

मैं एक ही समस्या है, और यह

<groupId>javax</groupId> 
<artifactId>javaee-web-api</artifactId> 

या

<groupId>javax</groupId> 
<artifactId>javaee-api</artifactId> 

को किसी भी तरह तेजी उन्हें दायरे में सेट करने के बाद (या जब आप मेवेन टेस्ट में सर्वर शुरू करते हैं तो उन्हें हटा दें) यह sta मेरे लिए काम कर रहे आरटीएस।

@ इस ब्लॉग को देखें: j ava.lang.ClassFormatError : Absent Code attribute in method that is not native or abstract in class file … - यह javax.persistence.GenerationType के लिए समस्या पर चर्चा करता है लेकिन मुझे लगता है कि आप और मैंने एक ही समस्या को मारा।

7

बदलें:

<dependency> 
    <groupId>com.sun.faces</groupId> 
    <artifactId>jsf-impl</artifactId> 
    <version>2.1.2</version> 
</dependency> 

करने के लिए:

<dependency> 
    <groupId>org.glassfish</groupId> 
    <artifactId>javax.faces</artifactId> 
    <version>2.1.6</version> 
</dependency> 
+0

मुझे भी ... यह जेएसएफ कार्यान्वयन टॉमकैट में काम करता है –

16

मैं तुम्हें रूप में एक ही समस्या है और करने के लिए servlet-api से कि परिवर्तन पता चला javax.servlet.api समस्या को ठीक करेगा। उममीद है कि इससे मदद मिलेगी। कृपया ध्यान दें कि, मैं जूनो एक्लिप्स, टॉमकैट 7, डायनामिक वेब मॉड्यूल 3.0, और जेडीके 1.7 का उपयोग कर रहा हूं।

<dependency> 
    <groupId>com.sun.faces</groupId> 
    <artifactId>jsf-api</artifactId> 
    <version>2.1.13</version> 
</dependency> 
<dependency> 
    <groupId>com.sun.faces</groupId> 
    <artifactId>jsf-impl</artifactId> 
    <version>2.1.13</version> 
</dependency> 
<dependency> 
    <groupId>javax.servlet</groupId> 
    <artifactId>javax.servlet-api</artifactId> 
    <version>3.0.1</version> 
</dependency> 
3

मैंने ग्लासफ़िश-एम्बेडेड-सब का व्यापार किया और इसे हल किया।

<dependency> 
     <groupId>org.glassfish.main.extras</groupId> 
     <artifactId>glassfish-embedded-all</artifactId> 
     <version>3.1.2.2</version> 
     <scope>provided</scope> 
    </dependency> 
संबंधित मुद्दे