为什么我在使用 JSF 的 Web 应用程序上得到 java.lang.NoSuchFieldError?

Why do I get a java.lang.NoSuchFieldError on web application with JSF?

我正在使用 JSF 开发 Web 应用程序,我尝试通过 Primefaces Push 发出通知,但是当我 运行 项目时,我遇到了这个异常:

java.lang.NoSuchFieldError: framework
at org.primefaces.push.PushServlet.configureFramework(PushServlet.java:66)
at org.primefaces.push.PushServlet.configureFramework(PushServlet.java:36)
at org.atmosphere.cpr.AtmosphereServlet.init(AtmosphereServlet.java:74)

我还添加了这个库:

primefaces 5.0 atmosphere-runtime-2.3.5 slf4j-api-1.7.7 commons-lang3-3.4

您应该使用与 PrimeFaces 5.0 兼容的 Atmosphere 版本。根据文档 pom 和发行说明,这是 2.1.3。