gpt4 book ai didi

java.lang.ClassNotFoundException : org. omnifaces.exceptionhandler.FullAjaxExceptionHandlerFactory

转载 作者:行者123 更新时间:2023-11-30 08:23:44 25 4
gpt4 key购买 nike

当我在服务器 GlassFish 4.0 上发布应用程序时,出现以下异常:

Caused by: java.lang.RuntimeException: 
com.sun.faces.config.ConfigurationException: Factory 'javax.faces.context.ExceptionHandlerFactory' was not configured properly.
at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:273)
at org.apache.catalina.core.StandardContext.contextListenerStart(StandardContext.java:5362)
at com.sun.enterprise.web.WebModule.contextListenerStart(WebModule.java:743)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:5898)
... 44 more Caused by: com.sun.faces.config.ConfigurationException:
Factory 'javax.faces.context.ExceptionHandlerFactory' was not configured properly.
at com.sun.faces.config.processor.FactoryConfigProcessor.verifyFactoriesExist(FactoryConfigProcessor.java:330)
at com.sun.faces.config.processor.FactoryConfigProcessor.process(FactoryConfigProcessor.java:236)
at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:435)
at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:214)
... 47 more Caused by: javax.faces.FacesException:
org.omnifaces.exceptionhandler.FullAjaxExceptionHandlerFactory
at javax.faces.FactoryFinder.getImplGivenPreviousImpl(FactoryFinder.java:710)
at javax.faces.FactoryFinder.getImplementationInstance(FactoryFinder.java:572)
at javax.faces.FactoryFinder.access$500(FactoryFinder.java:140)
at javax.faces.FactoryFinder$FactoryManager.getFactory(FactoryFinder.java:1120)
at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:379)
at com.sun.faces.config.processor.FactoryConfigProcessor.verifyFactoriesExist(FactoryConfigProcessor.java:328)
... 50 more Caused by: java.lang.ClassNotFoundException:
org.omnifaces.exceptionhandler.FullAjaxExceptionHandlerFactory
at org.glassfish.web.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1761)
at org.glassfish.web.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1611)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:270)
at javax.faces.FactoryFinder.getImplGivenPreviousImpl(FactoryFinder.java:685)
... 55 more

如何修复错误?

最佳答案

java.lang.ClassNotFoundException: org.omnifaces.exceptionhandler.FullAjaxExceptionHandlerFactory

ClassNotFoundException 表示所提及的类,或至少包含所提及类的 JAR 文件,不存在于当前运行时类路径中。

当部署为 WAR 文件时,webapp 的运行时类路径包括以下路径:

  • WAR 的 /WEB-INF/classes - 用于松散的 .class 文件(通常,IDE 会自动为 src 项目的文件夹)。
  • WAR 的 /WEB-INF/lib - 用于 JAR 文件(如果您没有使用 Maven 等依赖项管理框架,则需要手动将 JAR 放在那里)。
  • 服务器的 /lib 文件夹 - 用于特定于服务器的库,或用于需要在所有网络应用程序之间共享的库(文件夹名称取决于所使用的服务器)。
  • JRE(或 JDK)的 /lib/lib/ext 文件夹 - 永远不要把任何东西放在那里,除非你需要修复 JRE/JDK 中的一些错误 自己

通常,您只选择前两个选项。只在 WAR 中而不是在其他地方这样做。

上述类的包名称 org.omnifaces 暗示它是 OmniFaces 的一部分.你可以在那里下载JAR,根据它的安装说明,你需要把它放到/WEB-INF/lib


根据您的评论:

The problem was solved after I added in src/main/webapp/WEB-INF/lib several libraries - omnifaces-1.7.jar and primefaces-4.0.jar. Although these libraries were in classpath. Not sure about this decision optimal.

抱歉,您所说的并不正确。异常清楚地表明它们在类路径中。 ClassNotFoundException。就那么简单。至少不在上述任何路径中的 webapp 的运行时类路径中。您很可能错误地将 %CLASSPATH% 环境变量或项目的 Build Path 属性假定为 webapp 的运行时类路径。

关于java.lang.ClassNotFoundException : org. omnifaces.exceptionhandler.FullAjaxExceptionHandlerFactory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23447443/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com