【问题标题】:java.lang.ClassFormatError: Absent Code attribute in method that is not native or abstract in class file javax/faces/FacesExceptionjava.lang.ClassFormatError:类文件 javax/faces/FacesException 中非本机或抽象方法中的缺失代码属性
【发布时间】:2014-07-01 07:10:23
【问题描述】:

我正在尝试使用 tomcat 和 eclipse 运行 JSF 项目。

我刚刚用 HelloWorld 实现了简单的页面。当我尝试启动服务器时,它会抛出以下错误:

SEVERE: Error configuring application listener of class org.apache.catalina.deploy.ApplicationListener@2fbb7466
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:792)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2895)
    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:2483)
    at java.lang.Class.getConstructor0(Class.java:2793)
    at java.lang.Class.newInstance(Class.java:345)
    at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:138)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4854)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5434)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
    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:724)

我在类路径中包含以下库:

  • javae-api-6.0.jar
  • javae-web-api-6.0.jar
  • javax-servlet-api-3.1.0.jar
  • jsf-api-2.1.jar
  • jsf-impl-1.2.jar
  • jstl-1.2.jar
  • primefaces-5.0.jar

请帮我解决这个错误。

【问题讨论】:

  • here。希望这会有所帮助。
  • @Jens 是的,它帮助了我。有关详细信息,请参阅我的答案。谢谢...

标签: java eclipse jsf


【解决方案1】:

经过一些分析,我发现我从错误的地方添加了库。我还从构建路径中删除了额外的库。

以下是依赖项的最终列表,它对我有用:

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

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

<dependency>
    <groupId>org.primefaces</groupId>
    <artifactId>primefaces</artifactId>
    <version>5.0</version>
</dependency>

谢谢。

【讨论】:

    猜你喜欢
    • 2011-12-10
    • 2012-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多