我正在尝试配置 WebSphere 9 以使用 Mojarra 2.2,这是我到目前为止所做的:
1 - 创建了一个名为 Faces 的共享库,指向 Mojarra 文件:
2 - 更改了应用程序的 JSF 实现以使用 Mojarra:
但是,当我启动服务器时,我在 SystemOut.log 上看到以下消息:
[07-06-2016 10:43:44:467 BST] 0000005e application E Unable to obtain com.sun.faces.flow.FlowDiscoveryCDIExtension from CDI implementation. Flows described with javax.faces.flow.builder.FlowDefinition are unavailable.
SystemErr.log 上有以下内容:
[07-06-2016 10:14:44:905 BST] 0000005e SystemErr R java.lang.IllegalStateException: Application was not properly initialized at startup, could not find Factory: javax.faces.application.ApplicationFactory. Attempting to find backup.
[07-06-2016 10:14:44:906 BST] 0000005e SystemErr R at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:270)
我错过了什么? Mojarra 2.2 与 WebSphere 9 不兼容吗? 我已经尝试了数十种不同的组合(MyFaces 2.2、MyFaces 2.0、类加载器的父级优先、类加载器的父级最后、库的隔离类加载器等),但它们都失败了。 不用说,我的所有 CDI bean 都会导致以下错误:
Target unreachable, identifier 'whatever' resolved to null