我正在使用NetBeans和Glassfish 4.1.1开发一个webapp。我正在使用JSF和CDI来管理facelets的支持bean。由于在更改代码中的任何内容后不久,在通过浏览器“成功”部署和运行应用程序后,我总是会遇到此IllegalStateException的内部服务器错误:
org.jboss.weld.exceptions.IllegalStateException: WELD-000227: Bean
identifier index inconsistency detected - the distributed container
probably does not work with identical applications
我可以通过干净,构建和重新部署来摆脱它。但无论如何,NetBeans在每次保存后都会自动重新部署。所以我仍然需要点击清洁和构建,然后重新部署自己总是在任何小改变后,它让我疯了!
那么我可以在glassfish服务器上更改任何设置以避免这种情况,或者我可以告诉NetBeans在自动部署之前清理和构建吗?
它并不总是这样,最近我更新了玻璃鱼,它可能只是在那之后出现,我不记得了。
提前致谢!这花了我很多时间..
解决了
我再次谷歌搜索了几个小时,找到了解决方案:我在glassfish中设置了一个新的系统属性
org.jboss.weld.serialization.beanIdentifierIndexOptimization = 假
避免出现如WELD参考文献中所述的不一致性: