Error configuring application listener of class com.sun.faces.config.ConfigureListener
* java.lang.ClassFormatError: Absent Code attribute in method that is not native or abstract in class file javax/faces/FacesException*
This is my first time to write blog on CSDN.
When I builded local maven(webapp)-tomcat projecet, there is a problem as title.
Firstly, the project compiles fine.when I run it, I get the following error:
四月 27, 2017 4:48:24 下午 org.apache.catalina.core.AprLifecycleListener init
信息: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: D:\Program\MyEclipse\MyEclipse Professional 2014\binary\com.sun.java.jdk7.win32.x86_64_1.7.0.u45\bin;D:\Program\MyEclipse\MyEclipse Professional 2014\plugins\com.genuitec.eclipse.easie.tomcat7.myeclipse_11.5.0.me201310302042\tomcat\bin
四月 27, 2017 4:48:24 下午 org.apache.coyote.AbstractProtocol init
信息: Initializing ProtocolHandler ["http-bio-8080"]
四月 27, 2017 4:48:24 下午 org.apache.coyote.AbstractProtocol init
信息: Initializing ProtocolHandler ["ajp-bio-8009"]
四月 27, 2017 4:48:24 下午 org.apache.catalina.startup.Catalina load
信息: Initialization processed in 674 ms
四月 27, 2017 4:48:24 下午 org.apache.catalina.core.StandardService startInternal
信息: Starting service Catalina
四月 27, 2017 4:48:24 下午 org.apache.catalina.core.StandardEngine startInternal
信息: Starting Servlet Engine: Apache Tomcat/7.0.30
四月 27, 2017 4:48:24 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory D:\Program\MyEclipse\workspace\.metadata\.me_tcat7\webapps\PhotoPK
四月 27, 2017 4:48:24 下午 org.apache.catalina.loader.WebappClassLoader validateJarFile
信息: validateJarFile(D:\Program\MyEclipse\workspace\.metadata\.me_tcat7\webapps\PhotoPK\WEB-INF\lib\javax.servlet-api-3.0.1.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class
四月 27, 2017 4:48:28 下午 org.apache.catalina.core.StandardContext listenerStart
严重: Error configuring application listener of class com.sun.faces.config.ConfigureListener
java.lang.ClassFormatError: Absent Code attribute in method that is not native or abstract in class file javax/faces/FacesException
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2904)
at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1173)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1681)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2904)
at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1173)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1681)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Class.java:2493)
at java.lang.Class.getConstructor0(Class.java:2803)
at java.lang.Class.newInstance(Class.java:345)
at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:134)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4727)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5285)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:618)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1100)
at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1618)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
四月 27, 2017 4:48:28 下午 org.apache.catalina.core.StandardContext listenerStart
严重: Skipped installing application listeners due to previous error(s)
四月 27, 2017 4:48:28 下午 org.apache.catalina.core.StandardContext startInternal
严重: Error listenerStart
四月 27, 2017 4:48:28 下午 org.apache.catalina.core.StandardContext startInternal
严重: Context [/PhotoPK] startup failed due to previous errors
四月 27, 2017 4:48:28 下午 org.apache.coyote.AbstractProtocol start
信息: Starting ProtocolHandler ["http-bio-8080"]
四月 27, 2017 4:48:28 下午 org.apache.coyote.AbstractProtocol start
信息: Starting ProtocolHandler ["ajp-bio-8009"]
四月 27, 2017 4:48:28 下午 org.apache.catalina.startup.Catalina start
信息: Server startup in 4338 ms
In short:
Error configuring application listener of class com.sun.faces.config.ConfigureListener
java.lang.ClassFormatError: Absent Code attribute in method that is not native or abstract in class file javax/faces/FacesException
I googled and tried a lot of way to solve it. Here are a few links:
https://github.com/ykameshrao/spring-hibernate-springdata-springmvc-maven-project-framework/issues/5
But it did not work if did as their did.
Through google and error, I found out this is because two class files - “com.sun.faces” and “javax.faces”.
So I searched local maven repository and found there is no file “faces” in the folder “./repository/com/sun/”.
And then, I change two dependencies in pom.xml form maven project.
<dependency>
<groupId>javax.faces</groupId>
<artifactId>jsf-api</artifactId>
<version>2.1</version>
</dependency>
<dependency>
<groupId>javax.faces</groupId>
<artifactId>jsf-impl</artifactId>
<version>1.2_12</version>
</dependency>
change to:
<dependency>
<groupId>com.sun.faces</groupId>
<artifactId>jsf-api</artifactId>
<version>2.2.6</version>
</dependency>
<dependency>
<groupId>com.sun.faces</groupId>
<artifactId>jsf-impl</artifactId>
<version>2.2.6</version>
</dependency>
Resolved the error, not issue.
Because there is new error…
I am working now… and see you later…