我有3个安装了JSF的war文件,3个面配置,当我将它们全部加载到属于EAR的一个类加载器时,它在初始化错误时失败。如下。看起来JSF不喜欢在一个类加载器中加载多次,有没有人试过这个?用3次JSF战争加载EAR?
java.lang.NullPointerException
at com.sun.faces.config.processor.ManagedBeanConfigProcessor.process(ManagedBeanConfigProcessor.java:241)
at com.sun.faces.config.processor.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:108)
答案 0 :(得分:2)
这个特殊的异常可能是由类路径中缺少的jsf-api.jar
文件或类路径中的不同版本jsf-api.jar
引起的,而不是WAR的jsf-impl.jar
,可能是appserver-提供一个。从理论上讲,有3种方法可以解决这个问题:
jsf-api.jar
和jsf-impl.jar
)并依赖appserver提供的JSF库。另一个原因可能是WAR包含特定于appserver的库,而这些库又包含JSF类,例如Glassfish的javaee.jar
。所有这些特定于appserver的库都需要从所有WAR和EAR中删除。
重点:保持类路径清洁。