我想在带有 JSF 2.0(RI 是 Mojarra 2.0.4)和 CDI 的 WebSphere 7 中使用 Seam Solder 和 Seam Faces 3。我包括了所有必需的依赖项(Weld 1.1,JBoss Logging),但服务器没有开始说:
无法使用以下任何提供程序找到 BeanManager:
org.jboss.seam.solder.beanManager.DefaultJndiBeanManagerProvider(11)、
org.jboss.seam.solder.beanManager.ServletContainerJndiBeanManagerProvider(10)`
我遵循了pre-servlet 3.0 环境的 Seam 配置说明
在我看来,缺少一个资源(BeanMananger),我尝试按照Servlet Container 的Weld 指令将 BeanManager 设置为 Websphere 中的 jndi 资源,但这也不起作用。
在服务器启动期间导致异常的源代码尝试像这样查找 bean 管理器:
class ServletContainerJndiBeanManagerProvider extends AbstractJndiBeanManagerProvider {
@Override
protected String getLocation() {
return "java:comp/env/BeanManager";
}
public int getPrecedence(){
return 10;
}
到目前为止,有没有人在 Websphere 7 上运行 Seam 3 和 CDI 1.0(分别是 Weld 1.1)?我在这里想念什么?
PS:JSF 2.0 运行良好。