Glassfish 版本5.1.0,Spring 版本 5.1.8,发布前 Junit 各项测试正常,却在 Spring 向 Glassfish 部署项目时触发异常:

由应用服务器目录中的 server.log 具体信息得到:Exception while loading the app : java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: java.lang.RuntimeException: javax.faces.FacesException: Unable to find CDI BeanManager
首先排除缺乏导入 jar 的原因,那么还有个可能就是发布协议不兼容。回到 Eclipse 中 "New Dynamic Web Project" 重新选择 "Dynamic web module version" 为 2.5(测试目前最高支持 3.1 正常发布),重新发布 Spring 项目则正常。也就是 Spring 5.1.8 不支持 4.0 的 Dynamic web module version,只能降低版本,避免使用最新的 4.0 版本。

https://blog.inull.net
Q群讨论23620180

本文解决了一个Spring 5.1.8版本项目在Glassfish 5.1.0上部署时出现的异常问题,通过调整Dynamic Web Module版本从4.0降至2.5成功解决了无法找到CDI BeanManager的问题。

1385

被折叠的 条评论
为什么被折叠?



