CLASS文件冲突

时间:2017-02-17 11:52:40

标签: xpages domino-designer-eclipse

在我们的生产环境中,我们遇到了一些XPage的Error 500 - 使用Java bean。我已经解决了这个问题:当我们的开发人员构建/清理应用程序时,我们在类中遇到了这种冲突:

RESViewBean$Kocka(985FB00AF0EEE24BC1258028004C47FE).class
RESViewBean$Kocka.class
RESViewBean$Resource(34A92B0BA75D7267C1258028004C47FC).class
RESViewBean$Resource.class

其他开发人员(包括我)的构建/清理会删除这些冲突的两个类。我的想法 - 有源控制的东西。但是说开发人员没有设置它,并且从Designer客户端的应用程序列表中删除应用程序(会破坏这样的链接)也无济于事。

最让我感兴趣的是,它对生产服务器上的开发服务器和测试应用程序(在不同的路径中)没有影响。但是应用程序的生产副本将导致此异常:

17.2.2017 9:38: Exception Thrown
javax.servlet.ServletException: java.lang.NoClassDefFoundError: sk/posam/iis/mrp/xsp/RESViewBean$Resource
    at com.ibm.xsp.webapp.FacesServlet.handleError(FacesServlet.java:653)
    at com.ibm.xsp.webapp.FacesServlet.renderErrorPage(FacesServlet.java:482)
    at com.ibm.xsp.webapp.FacesServlet.service(FacesServlet.java:183)
    at com.ibm.xsp.webapp.FacesServletEx.service(FacesServletEx.java:138)
    at com.ibm.xsp.webapp.DesignerFacesServlet.service(DesignerFacesServlet.java:103)
    at com.ibm.designer.runtime.domino.adapter.ComponentModule.invokeServlet(ComponentModule.java:588)
    at com.ibm.domino.xsp.module.nsf.NSFComponentModule.invokeServlet(NSFComponentModule.java:1335)
    at com.ibm.designer.runtime.domino.adapter.ComponentModule$AdapterInvoker.invokeServlet(ComponentModule.java:865)
    at com.ibm.designer.runtime.domino.adapter.ComponentModule$ServletInvoker.doService(ComponentModule.java:808)
    at com.ibm.designer.runtime.domino.adapter.ComponentModule.doService(ComponentModule.java:577)
    at com.ibm.domino.xsp.module.nsf.NSFComponentModule.doService(NSFComponentModule.java:1319)
    at com.ibm.domino.xsp.module.nsf.NSFService.doServiceInternal(NSFService.java:662)
    at com.ibm.domino.xsp.module.nsf.NSFService.doService(NSFService.java:482)
    at com.ibm.designer.runtime.domino.adapter.LCDEnvironment.doService(LCDEnvironment.java:357)
    at com.ibm.designer.runtime.domino.adapter.LCDEnvironment.service(LCDEnvironment.java:313)
    at com.ibm.domino.xsp.bridge.http.engine.XspCmdManager.service(XspCmdManager.java:272)
Caused by: java.lang.NoClassDefFoundError: sk/posam/iis/mrp/xsp/RESViewBean$Resource
    at sk.posam.iis.mrp.xsp.RESViewBean.updateResources(RESViewBean.java:69)
    at sk.posam.iis.mrp.xsp.RESViewBean.<init>(RESViewBean.java:28)
    at java.lang.J9VMInternals.newInstanceImpl(Native Method)
    at java.lang.Class.newInstance(Class.java:1688)
    at java.beans.Beans.instantiate(Beans.java:189)
    at java.beans.Beans.instantiate(Beans.java:80)
    at com.sun.faces.config.ManagedBeanFactory$1.run(ManagedBeanFactory.java:222)
    at java.security.AccessController.doPrivileged(AccessController.java:413)
    at com.sun.faces.config.ManagedBeanFactory.newInstance(ManagedBeanFactory.java:216)
    at com.sun.faces.application.ApplicationAssociate.createAndMaybeStoreManagedBeans(ApplicationAssociate.java:291)
    at com.sun.faces.el.VariableResolverImpl.resolveVariable(VariableResolverImpl.java:135)

什么可能创建那些重复的类文件?

1 个答案:

答案 0 :(得分:1)

粗略猜测: 我们在自定义控件和Xpages方面遇到了类似的问题。我们的一位开发人员在远程工作,结果发现在复制期间发生了XSP元素(Xpages和自定义控件以及它们的本地化语言属性)的倍增。在我们的案例中,棘手的部分是那些只在Package Explorer视图中可见的多个版本。

我们从未真正找到真正的原因,但我倾向于认为这与他必须在进行本地预览之前签署元素有关。然后,在复制任何重新签名的元素期间,发生了重复。像复制冲突的东西。

我们通过让我们的同事独立于我们的开发dB(通过邮件或复制单独的数据库)传输他的设计元素来阻止这种情况。然后我们其中一个内部开发人员会将元素复制到我们的主数据库中。我们还决定团队中的任何人都不会直接在服务器上工作,而是在本地副本上工作。

有点乏味但从那时起就没有重复了。