【问题标题】:java.lang.NoClassDefFoundError: org/primefaces/event/CellEditEventjava.lang.NoClassDefFoundError: org/primefaces/event/CellEditEvent
【发布时间】:2013-11-13 10:24:32
【问题描述】:

我有一个 DataTable - Cell Editing ,我在 primefaces 展示中使用第一个名为 In-Cell Editing 的数据表,但是当我运行我的 JBoss 7 服务器时,我发现了一个错误

Caused by: java.lang.NoClassDefFoundError: org/primefaces/event/CellEditEvent
    at java.lang.Class.getDeclaredMethods0(Native Method) [rt.jar:1.6.0_02]
    at java.lang.Class.privateGetDeclaredMethods(Class.java:2427) [rt.jar:1.6.0_02]
    at java.lang.Class.getDeclaredMethods(Class.java:1791) [rt.jar:1.6.0_02]
    at org.jboss.as.server.deployment.reflect.ClassReflectionIndex.<init>(ClassReflectionIndex.java:65) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
    at org.jboss.as.server.deployment.reflect.DeploymentReflectionIndex.getClassIndex(DeploymentReflectionIndex.java:66) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
    ... 10 more

我真的不明白这是什么意思或者我应该改变什么!

【问题讨论】:

  • 确保您使用的是兼容版本的 primefaces 和 jsf。我认为这可能是一个原因
  • 我使用 JSF 2.0 和 primefaces 4.0,我认为它们是兼容的。
  • 运行时类路径中实际上没有 PrimeFaces 4.0。这个例外是显而易见的。如果您详细说明您是如何升级 PrimeFaces 的(您之前的问题提到您最初使用的是 3.3),那么我们可以指出您在这方面的错误。
  • 好的,我选择了引用库-->配置构建路径--> Java 构建路径:我删除了 Primefaces 3.3 并将 Primefaces 4.0 添加为外部 jar。

标签: jsf primefaces noclassdeffounderror


【解决方案1】:

根据 cmets:

我选择了引用库-->配置构建路径--> Java 构建路径:我删除了 Primefaces 3.3 并将 Primefaces 4.0 添加为外部 jar

这绝对不是正确的方法。该部分仅配置编译时依赖项,而不是 webapp 运行时依赖项。一般来说,对于仍然无法在不使用任何书籍、IDE 或构建工具的情况下在命令控制台中创建、构建和部署 WAR 文件的初学者,请不要触摸项目的 Build Path 属性,否则你可能会因为对“幕后”工作缺乏了解而搞砸事情。

正确的方法是打开 webapp 的 /WEB-INF/lib 文件夹,从那里删除物理的 primefaces-3.3.jar 文件,然后将物理的 primefaces-4.0.jar 文件放到那里。就这样。然后,IDE 将自动在 Build Path 中执行所有必要的魔法。无需手动摆弄那里。

【讨论】:

    【解决方案2】:

    我遇到了同样的问题,但我通过在目录 web-inf/lib

    中添加 Primefaces.jar 解决了

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-09-16
      • 1970-01-01
      • 2014-03-19
      • 2014-08-24
      • 1970-01-01
      • 1970-01-01
      • 2015-06-02
      • 2013-01-10
      相关资源
      最近更新 更多