我有一个XPages应用程序,在过去几年一直非常愉快地运行。
该应用程序使用一些Java类作为转换器,用于将某些字段上的数据条目转换为大写,正确的大小写等。自首次部署应用程序以来,此功能一直存在并正常工作。
今天我被要求对其中一个页面进行更改,添加一个新字段。更改是在数据库的测试副本中进行的,应用程序已重建并经过测试,一切正常。
然后将相同的更改提升到实时数据库,但在重建错误之后 无法实例化类:'在NSF'中找不到类uk.co.xxx.beans.UpperCase。 正在退货。
我尝试过重建应用程序并多次清理项目但没有成功。我还尝试修改Java类中的代码并重建。
如果我删除了对UpperCase类的所有引用,那么就会抱怨ProperCase类。看起来应用程序已经失去了对Java类的引用,并且重建并不能解决问题。
作为临时解决方案,我删除了这些类的所有用法,以便用户至少可以显示页面 - 但这显然不是长期解决方案。只要我恢复一个实例并重建,错误就会返回。
应用程序中唯一的变化是添加了新字段。删除它没有任何区别。
您能否提出我可以尝试的其他内容以及可能导致问题的原因?
答案 0 :(得分:4)
在设计器中打开生产数据库并使用Navigator视图打开WebContent / WEB-INF并删除classes文件夹。然后重建应用程序或再次从模板刷新它。
有时候课程没有正确更新。我几次见过它。
答案 1 :(得分:1)
我也见过这个(多米诺骨牌8.5.3)。我重新编译,直到它最终工作。重新启动http任务,以获得良好的衡量标准。如何在db中部署类或在lib / ext中部署jar文件?
答案 2 :(得分:0)
我遇到了与8.53 FP2类似的问题,如果设计师客户端访问了同样的“无法实例化错误”。我甚至在IBM为它设置了PRD。
为了解决这个问题,我们不得不将服务器和客户端更新到FP5。在我们更新FP5之前,我们有一个解决方法。我们必须修改应用程序的推出方式。从模板更新数据库后,我们必须使用我们用于签名应用程序的应用程序ID进行清理然后构建。
http://www-01.ibm.com/support/docview.wss?uid=swg21639571
JDAE8ZV2CX XPage与Java设计元素中断在应用任何853 Fix Pack 2 / Fix Pack 3修补程序的8.5.3 Fix Pack 2临时修订后Domino Designer打开时