Domino 9 中的 ClassNotFoundException
ClassNotFoundException in Domino 9
多米诺 9.0.1
ExtLib:9.0.1 v 4_20140226_1506
官方发展援助:1.5.0.201406241744
现状
我在本地服务器上开发我的应用程序。我大量使用 java 以及扩展库和 openNTF Domino API。我的 java 类 是在透视视图中创建的 Web Content/Web-INF/src 文件夹中。当我准备好部署时,我创建一个模板并将 src 文件转换为一个 jar,并将其复制到 Web Content/Web-INF/lib 文件夹并将它们添加到构建路径,同时从构建路径中删除和删除 src 文件夹和分别申请。我发现这是一种更稳定的方法。
来自多个应用程序的我的模板 运行 在我的本地服务器上没有问题。直到一周前,这些应用程序还 运行 在客户服务器上正常运行。在某些时候,服务器上的某些东西发生了变化,多个应用程序不再 运行ning。我收到以下消息(为了保护客户,一些文本变暗了):
以及以下堆栈跟踪:
com.ibm.xsp.exception.EvaluationExceptionEx: Error while executing JavaScript computed expression
com.ibm.xsp.binding.javascript.JavaScriptValueBinding.getValue(JavaScriptValueBinding.java:132)
javax.faces.component.UISelectItems.getValue(UISelectItems.java:123)
com.ibm.xsp.component.UISelectItemsEx.getValue(UISelectItemsEx.java:64)
com.sun.faces.util.Util.getSelectItems(Util.java:492)
com.sun.faces.renderkit.html_basic.MenuRenderer.getOptionNumber(MenuRenderer.java:410)
com.sun.faces.renderkit.html_basic.MenuRenderer.renderSelect(MenuRenderer.java:388)
com.sun.faces.renderkit.html_basic.MenuRenderer.encodeEnd(MenuRenderer.java:357)
com.ibm.xsp.renderkit.html_basic.MenuRenderer.encodeEnd(MenuRenderer.java:47)
com.ibm.xsp.renderkit.ReadOnlyAdapterRenderer.encodeEnd(ReadOnlyAdapterRenderer.java:180)
javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:1005)
com.ibm.xsp.component.UISelectOneEx.encodeEnd(UISelectOneEx.java:331)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:858)
com.ibm.xsp.util.FacesUtil.renderChildren(FacesUtil.java:873)
com.ibm.xsp.renderkit.html_extended.HtmlBasicRenderer.encodeChildren(HtmlBasicRenderer.java:206)
com.ibm.xsp.renderkit.ReadOnlyAdapterRenderer.encodeChildren(ReadOnlyAdapterRenderer.java:162)
javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:979)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:844)
com.ibm.xsp.util.FacesUtil.renderChildren(FacesUtil.java:873)
com.ibm.xsp.renderkit.html_extended.HtmlBasicRenderer.encodeChildren(HtmlBasicRenderer.java:206)
com.ibm.xsp.renderkit.ReadOnlyAdapterRenderer.encodeChildren(ReadOnlyAdapterRenderer.java:162)
javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:979)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:844)
com.ibm.xsp.util.FacesUtil.renderChildren(FacesUtil.java:873)
com.ibm.xsp.renderkit.html_extended.HtmlBasicRenderer.encodeChildren(HtmlBasicRenderer.java:206)
com.ibm.xsp.renderkit.ReadOnlyAdapterRenderer.encodeChildren(ReadOnlyAdapterRenderer.java:162)
javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:979)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:844)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:853)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:853)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:853)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:853)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:853)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:853)
com.ibm.xsp.component.UIViewRootEx._renderView(UIViewRootEx.java:1317)
com.ibm.xsp.component.UIViewRootEx.renderView(UIViewRootEx.java:1255)
com.ibm.xsp.application.ViewHandlerExImpl.doRender(ViewHandlerExImpl.java:651)
com.ibm.xsp.application.ViewHandlerExImpl._renderView(ViewHandlerExImpl.java:321)
com.ibm.xsp.application.ViewHandlerExImpl.renderView(ViewHandlerExImpl.java:336)
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:103)
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:210)
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:120)
com.ibm.xsp.controller.FacesControllerImpl.render(FacesControllerImpl.java:270)
com.ibm.xsp.webapp.FacesServlet.serviceView(FacesServlet.java:261)
com.ibm.xsp.webapp.FacesServletEx.serviceView(FacesServletEx.java:157)
com.ibm.xsp.webapp.FacesServlet.service(FacesServlet.java:160)
com.ibm.xsp.webapp.FacesServletEx.service(FacesServletEx.java:138)
com.ibm.xsp.webapp.DesignerFacesServlet.service(DesignerFacesServlet.java:103)
com.ibm.designer.runtime.domino.adapter.ComponentModule.invokeServlet(ComponentModule.java:576)
com.ibm.domino.xsp.module.nsf.NSFComponentModule.invokeServlet(NSFComponentModule.java:1335)
com.ibm.designer.runtime.domino.adapter.ComponentModule$AdapterInvoker.invokeServlet(ComponentModule.java:853)
com.ibm.designer.runtime.domino.adapter.ComponentModule$ServletInvoker.doService(ComponentModule.java:796)
com.ibm.designer.runtime.domino.adapter.ComponentModule.doService(ComponentModule.java:565)
com.ibm.domino.xsp.module.nsf.NSFComponentModule.doService(NSFComponentModule.java:1319)
com.ibm.domino.xsp.module.nsf.NSFService.doServiceInternal(NSFService.java:662)
com.ibm.domino.xsp.module.nsf.NSFService.doService(NSFService.java:482)
org.openntf.domino.xsp.adapter.OpenntfHttpService.doService(OpenntfHttpService.java:89)
com.ibm.designer.runtime.domino.adapter.LCDEnvironment.doService(LCDEnvironment.java:350)
com.ibm.designer.runtime.domino.adapter.LCDEnvironment.service(LCDEnvironment.java:306)
com.ibm.domino.xsp.bridge.http.engine.XspCmdManager.service(XspCmdManager.java:272)
javax.faces.FacesException: javax.faces.FacesException: Can't instantiate class: 'de.holistic.XXXX.searchEngine.SUDValuesManager'.. java.lang.ClassNotFoundException: class java.lang.NullPointerException: null
com.sun.faces.application.ApplicationAssociate.createAndMaybeStoreManagedBeans(ApplicationAssociate.java:278)
com.sun.faces.el.VariableResolverImpl.resolveVariable(VariableResolverImpl.java:135)
com.ibm.xsp.el.VariableResolverImpl.resolveVariable(VariableResolverImpl.java:71)
com.ibm.xsp.javascript.ServerSideLocalObject.resolveVariable(ServerSideLocalObject.java:97)
com.ibm.xsp.javascript.ServerSideLocalObject.resolveAttribute(ServerSideLocalObject.java:73)
com.ibm.xsp.javascript.AbstractLocalObject._get(AbstractLocalObject.java:119)
com.ibm.xsp.javascript.AbstractLocalObject.getPropertyReference(AbstractLocalObject.java:101)
com.ibm.jscript.engine.ProgramContext.findGlobalScopeIdentifier(ProgramContext.java:143)
com.ibm.jscript.engine.ProgramContext.findIdentifier(ProgramContext.java:134)
com.ibm.jscript.ASTTree.ASTIdentifier.interpret(ASTIdentifier.java:105)
com.ibm.jscript.ASTTree.ASTMember.interpret(ASTMember.java:106)
com.ibm.jscript.ASTTree.ASTCall.interpret(ASTCall.java:88)
com.ibm.jscript.ASTTree.ASTArgumentList.interpretArguments(ASTArgumentList.java:65)
com.ibm.jscript.types.FBSObject.call(FBSObject.java:153)
com.ibm.jscript.ASTTree.ASTCall.interpret(ASTCall.java:197)
com.ibm.jscript.ASTTree.ASTProgram.interpret(ASTProgram.java:119)
com.ibm.jscript.ASTTree.ASTProgram.interpretEx(ASTProgram.java:139)
com.ibm.jscript.JSExpression._interpretExpression(JSExpression.java:435)
com.ibm.jscript.JSExpression.access(JSExpression.java:424)
com.ibm.jscript.JSExpression.run(JSExpression.java:414)
java.security.AccessController.doPrivileged(AccessController.java:362)
com.ibm.jscript.JSExpression.interpretExpression(JSExpression.java:410)
com.ibm.jscript.JSExpression.evaluateValue(JSExpression.java:251)
com.ibm.jscript.JSExpression.evaluateValue(JSExpression.java:234)
com.ibm.xsp.javascript.JavaScriptInterpreter.interpret(JavaScriptInterpreter.java:222)
com.ibm.xsp.javascript.JavaScriptInterpreter.interpret(JavaScriptInterpreter.java:194)
com.ibm.xsp.binding.javascript.JavaScriptValueBinding.getValue(JavaScriptValueBinding.java:78)
javax.faces.component.UISelectItems.getValue(UISelectItems.java:123)
com.ibm.xsp.component.UISelectItemsEx.getValue(UISelectItemsEx.java:64)
com.sun.faces.util.Util.getSelectItems(Util.java:492)
com.sun.faces.renderkit.html_basic.MenuRenderer.getOptionNumber(MenuRenderer.java:410)
com.sun.faces.renderkit.html_basic.MenuRenderer.renderSelect(MenuRenderer.java:388)
com.sun.faces.renderkit.html_basic.MenuRenderer.encodeEnd(MenuRenderer.java:357)
com.ibm.xsp.renderkit.html_basic.MenuRenderer.encodeEnd(MenuRenderer.java:47)
com.ibm.xsp.renderkit.ReadOnlyAdapterRenderer.encodeEnd(ReadOnlyAdapterRenderer.java:180)
javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:1005)
com.ibm.xsp.component.UISelectOneEx.encodeEnd(UISelectOneEx.java:331)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:858)
com.ibm.xsp.util.FacesUtil.renderChildren(FacesUtil.java:873)
com.ibm.xsp.renderkit.html_extended.HtmlBasicRenderer.encodeChildren(HtmlBasicRenderer.java:206)
com.ibm.xsp.renderkit.ReadOnlyAdapterRenderer.encodeChildren(ReadOnlyAdapterRenderer.java:162)
javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:979)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:844)
com.ibm.xsp.util.FacesUtil.renderChildren(FacesUtil.java:873)
com.ibm.xsp.renderkit.html_extended.HtmlBasicRenderer.encodeChildren(HtmlBasicRenderer.java:206)
com.ibm.xsp.renderkit.ReadOnlyAdapterRenderer.encodeChildren(ReadOnlyAdapterRenderer.java:162)
javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:979)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:844)
com.ibm.xsp.util.FacesUtil.renderChildren(FacesUtil.java:873)
com.ibm.xsp.renderkit.html_extended.HtmlBasicRenderer.encodeChildren(HtmlBasicRenderer.java:206)
com.ibm.xsp.renderkit.ReadOnlyAdapterRenderer.encodeChildren(ReadOnlyAdapterRenderer.java:162)
javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:979)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:844)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:853)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:853)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:853)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:853)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:853)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:853)
com.ibm.xsp.component.UIViewRootEx._renderView(UIViewRootEx.java:1317)
com.ibm.xsp.component.UIViewRootEx.renderView(UIViewRootEx.java:1255)
com.ibm.xsp.application.ViewHandlerExImpl.doRender(ViewHandlerExImpl.java:651)
com.ibm.xsp.application.ViewHandlerExImpl._renderView(ViewHandlerExImpl.java:321)
com.ibm.xsp.application.ViewHandlerExImpl.renderView(ViewHandlerExImpl.java:336)
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:103)
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:210)
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:120)
com.ibm.xsp.controller.FacesControllerImpl.render(FacesControllerImpl.java:270)
com.ibm.xsp.webapp.FacesServlet.serviceView(FacesServlet.java:261)
com.ibm.xsp.webapp.FacesServletEx.serviceView(FacesServletEx.java:157)
com.ibm.xsp.webapp.FacesServlet.service(FacesServlet.java:160)
com.ibm.xsp.webapp.FacesServletEx.service(FacesServletEx.java:138)
com.ibm.xsp.webapp.DesignerFacesServlet.service(DesignerFacesServlet.java:103)
com.ibm.designer.runtime.domino.adapter.ComponentModule.invokeServlet(ComponentModule.java:576)
com.ibm.domino.xsp.module.nsf.NSFComponentModule.invokeServlet(NSFComponentModule.java:1335)
com.ibm.designer.runtime.domino.adapter.ComponentModule$AdapterInvoker.invokeServlet(ComponentModule.java:853)
com.ibm.designer.runtime.domino.adapter.ComponentModule$ServletInvoker.doService(ComponentModule.java:796)
com.ibm.designer.runtime.domino.adapter.ComponentModule.doService(ComponentModule.java:565)
com.ibm.domino.xsp.module.nsf.NSFComponentModule.doService(NSFComponentModule.java:1319)
com.ibm.domino.xsp.module.nsf.NSFService.doServiceInternal(NSFService.java:662)
com.ibm.domino.xsp.module.nsf.NSFService.doService(NSFService.java:482)
org.openntf.domino.xsp.adapter.OpenntfHttpService.doService(OpenntfHttpService.java:89)
com.ibm.designer.runtime.domino.adapter.LCDEnvironment.doService(LCDEnvironment.java:350)
com.ibm.designer.runtime.domino.adapter.LCDEnvironment.service(LCDEnvironment.java:306)
com.ibm.domino.xsp.bridge.http.engine.XspCmdManager.service(XspCmdManager.java:272)
javax.faces.FacesException: Can't instantiate class: 'de.holistic.<removed for customer anonyminity>.searchEngine.SUDValuesManager'.. java.lang.ClassNotFoundException: class java.lang.NullPointerException: null
com.sun.faces.config.ManagedBeanFactory.newInstance(ManagedBeanFactory.java:234)
com.sun.faces.application.ApplicationAssociate.createAndMaybeStoreManagedBeans(ApplicationAssociate.java:269)
com.sun.faces.el.VariableResolverImpl.resolveVariable(VariableResolverImpl.java:135)
com.ibm.xsp.el.VariableResolverImpl.resolveVariable(VariableResolverImpl.java:71)
com.ibm.xsp.javascript.ServerSideLocalObject.resolveVariable(ServerSideLocalObject.java:97)
com.ibm.xsp.javascript.ServerSideLocalObject.resolveAttribute(ServerSideLocalObject.java:73)
com.ibm.xsp.javascript.AbstractLocalObject._get(AbstractLocalObject.java:119)
com.ibm.xsp.javascript.AbstractLocalObject.getPropertyReference(AbstractLocalObject.java:101)
com.ibm.jscript.engine.ProgramContext.findGlobalScopeIdentifier(ProgramContext.java:143)
com.ibm.jscript.engine.ProgramContext.findIdentifier(ProgramContext.java:134)
com.ibm.jscript.ASTTree.ASTIdentifier.interpret(ASTIdentifier.java:105)
com.ibm.jscript.ASTTree.ASTMember.interpret(ASTMember.java:106)
com.ibm.jscript.ASTTree.ASTCall.interpret(ASTCall.java:88)
com.ibm.jscript.ASTTree.ASTArgumentList.interpretArguments(ASTArgumentList.java:65)
com.ibm.jscript.types.FBSObject.call(FBSObject.java:153)
com.ibm.jscript.ASTTree.ASTCall.interpret(ASTCall.java:197)
com.ibm.jscript.ASTTree.ASTProgram.interpret(ASTProgram.java:119)
com.ibm.jscript.ASTTree.ASTProgram.interpretEx(ASTProgram.java:139)
com.ibm.jscript.JSExpression._interpretExpression(JSExpression.java:435)
com.ibm.jscript.JSExpression.access(JSExpression.java:424)
com.ibm.jscript.JSExpression.run(JSExpression.java:414)
java.security.AccessController.doPrivileged(AccessController.java:362)
com.ibm.jscript.JSExpression.interpretExpression(JSExpression.java:410)
com.ibm.jscript.JSExpression.evaluateValue(JSExpression.java:251)
com.ibm.jscript.JSExpression.evaluateValue(JSExpression.java:234)
com.ibm.xsp.javascript.JavaScriptInterpreter.interpret(JavaScriptInterpreter.java:222)
com.ibm.xsp.javascript.JavaScriptInterpreter.interpret(JavaScriptInterpreter.java:194)
com.ibm.xsp.binding.javascript.JavaScriptValueBinding.getValue(JavaScriptValueBinding.java:78)
javax.faces.component.UISelectItems.getValue(UISelectItems.java:123)
com.ibm.xsp.component.UISelectItemsEx.getValue(UISelectItemsEx.java:64)
com.sun.faces.util.Util.getSelectItems(Util.java:492)
com.sun.faces.renderkit.html_basic.MenuRenderer.getOptionNumber(MenuRenderer.java:410)
com.sun.faces.renderkit.html_basic.MenuRenderer.renderSelect(MenuRenderer.java:388)
com.sun.faces.renderkit.html_basic.MenuRenderer.encodeEnd(MenuRenderer.java:357)
com.ibm.xsp.renderkit.html_basic.MenuRenderer.encodeEnd(MenuRenderer.java:47)
com.ibm.xsp.renderkit.ReadOnlyAdapterRenderer.encodeEnd(ReadOnlyAdapterRenderer.java:180)
javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:1005)
com.ibm.xsp.component.UISelectOneEx.encodeEnd(UISelectOneEx.java:331)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:858)
com.ibm.xsp.util.FacesUtil.renderChildren(FacesUtil.java:873)
com.ibm.xsp.renderkit.html_extended.HtmlBasicRenderer.encodeChildren(HtmlBasicRenderer.java:206)
com.ibm.xsp.renderkit.ReadOnlyAdapterRenderer.encodeChildren(ReadOnlyAdapterRenderer.java:162)
javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:979)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:844)
com.ibm.xsp.util.FacesUtil.renderChildren(FacesUtil.java:873)
com.ibm.xsp.renderkit.html_extended.HtmlBasicRenderer.encodeChildren(HtmlBasicRenderer.java:206)
com.ibm.xsp.renderkit.ReadOnlyAdapterRenderer.encodeChildren(ReadOnlyAdapterRenderer.java:162)
javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:979)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:844)
com.ibm.xsp.util.FacesUtil.renderChildren(FacesUtil.java:873)
com.ibm.xsp.renderkit.html_extended.HtmlBasicRenderer.encodeChildren(HtmlBasicRenderer.java:206)
com.ibm.xsp.renderkit.ReadOnlyAdapterRenderer.encodeChildren(ReadOnlyAdapterRenderer.java:162)
javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:979)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:844)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:853)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:853)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:853)
尝试过的解决方案
- 所有项目都已经辞职重建(无数次)了。
- Notes.ini 已检查以确保加载 OSGi 库。此外,已执行控制台命令并已确认加载库。
- 最初,ExtLib 更新站点已在 Notes.ini 中更改。这已更改为指向正确的 updateSite.nsf.
- 已使用 ODA、ExtLibs 和基本 类 在服务器上创建测试 XPage 应用程序。所有 Java 类 都可以正确加载,但是这些测试仅使用存储在 Web Content/WEB-INF/src 中的 java 类 而不是 jars。找不到测试数据库的问题。
- 使用导航器,手动删除了 Web Content/WEB-INF/Classes 文件,并重建了项目。
- 手动删除了本地内容并重建了应用程序。
- 已检查 domino 服务器安全文档选项卡,以确认应用程序的签名被列为允许 运行 java 和 xpages。
- 不言而喻,faces-config.xml 文件已经过检查以确认拼写正确和完整性。没有发现问题。
- 已检查构建路径以确认它们设置正确。没有发现任何问题。
问题
如果可以假定有人更改了服务器设置(因为 OSGI notes.ini 变量已更改),那么还可以更改哪些内容会导致 ClassNotFound 运行 时间异常?
我还能做些什么来解决这个问题?同样,在本地,所有应用程序都正常 运行ning。只有在客户的测试服务器上,我才会收到这些 运行 时间异常。
您的 SUDValuesManager 构造函数中的某些内容正在抛出 NullPointerException。我相当有信心是这种情况......因为我刚刚遇到了相同格式的相同异常:
javax.faces.FacesException: Can't instantiate class:
<INSERT CLASS NAME HERE>..
java.lang.ClassNotFoundException: class java.lang.NullPointerException: null
NullPointerException 是这里真正的异常,而不是 ClassNotFoundException。
就我而言,在我的构造函数中,我正在访问一个视图来填充一些值。我没有在我正在检索的视图上测试 null(因此出现 NullPointerException),然后这也引发了 ClassNotFoundException。因为我还没有刷新目标数据库的设计,它没有视图,当我试图从中检索 viewEntryCollection 时,这是空指针异常。
在 SUDValuesManager 的构造函数中检查您的代码,了解您没有防范的任何可能的 NPE,或者将其包围在 try/catch(异常 e)中并打印任何捕获的异常的堆栈跟踪。
多米诺 9.0.1
ExtLib:9.0.1 v 4_20140226_1506
官方发展援助:1.5.0.201406241744
现状
我在本地服务器上开发我的应用程序。我大量使用 java 以及扩展库和 openNTF Domino API。我的 java 类 是在透视视图中创建的 Web Content/Web-INF/src 文件夹中。当我准备好部署时,我创建一个模板并将 src 文件转换为一个 jar,并将其复制到 Web Content/Web-INF/lib 文件夹并将它们添加到构建路径,同时从构建路径中删除和删除 src 文件夹和分别申请。我发现这是一种更稳定的方法。
来自多个应用程序的我的模板 运行 在我的本地服务器上没有问题。直到一周前,这些应用程序还 运行 在客户服务器上正常运行。在某些时候,服务器上的某些东西发生了变化,多个应用程序不再 运行ning。我收到以下消息(为了保护客户,一些文本变暗了):
以及以下堆栈跟踪:
com.ibm.xsp.exception.EvaluationExceptionEx: Error while executing JavaScript computed expression
com.ibm.xsp.binding.javascript.JavaScriptValueBinding.getValue(JavaScriptValueBinding.java:132)
javax.faces.component.UISelectItems.getValue(UISelectItems.java:123)
com.ibm.xsp.component.UISelectItemsEx.getValue(UISelectItemsEx.java:64)
com.sun.faces.util.Util.getSelectItems(Util.java:492)
com.sun.faces.renderkit.html_basic.MenuRenderer.getOptionNumber(MenuRenderer.java:410)
com.sun.faces.renderkit.html_basic.MenuRenderer.renderSelect(MenuRenderer.java:388)
com.sun.faces.renderkit.html_basic.MenuRenderer.encodeEnd(MenuRenderer.java:357)
com.ibm.xsp.renderkit.html_basic.MenuRenderer.encodeEnd(MenuRenderer.java:47)
com.ibm.xsp.renderkit.ReadOnlyAdapterRenderer.encodeEnd(ReadOnlyAdapterRenderer.java:180)
javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:1005)
com.ibm.xsp.component.UISelectOneEx.encodeEnd(UISelectOneEx.java:331)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:858)
com.ibm.xsp.util.FacesUtil.renderChildren(FacesUtil.java:873)
com.ibm.xsp.renderkit.html_extended.HtmlBasicRenderer.encodeChildren(HtmlBasicRenderer.java:206)
com.ibm.xsp.renderkit.ReadOnlyAdapterRenderer.encodeChildren(ReadOnlyAdapterRenderer.java:162)
javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:979)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:844)
com.ibm.xsp.util.FacesUtil.renderChildren(FacesUtil.java:873)
com.ibm.xsp.renderkit.html_extended.HtmlBasicRenderer.encodeChildren(HtmlBasicRenderer.java:206)
com.ibm.xsp.renderkit.ReadOnlyAdapterRenderer.encodeChildren(ReadOnlyAdapterRenderer.java:162)
javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:979)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:844)
com.ibm.xsp.util.FacesUtil.renderChildren(FacesUtil.java:873)
com.ibm.xsp.renderkit.html_extended.HtmlBasicRenderer.encodeChildren(HtmlBasicRenderer.java:206)
com.ibm.xsp.renderkit.ReadOnlyAdapterRenderer.encodeChildren(ReadOnlyAdapterRenderer.java:162)
javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:979)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:844)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:853)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:853)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:853)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:853)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:853)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:853)
com.ibm.xsp.component.UIViewRootEx._renderView(UIViewRootEx.java:1317)
com.ibm.xsp.component.UIViewRootEx.renderView(UIViewRootEx.java:1255)
com.ibm.xsp.application.ViewHandlerExImpl.doRender(ViewHandlerExImpl.java:651)
com.ibm.xsp.application.ViewHandlerExImpl._renderView(ViewHandlerExImpl.java:321)
com.ibm.xsp.application.ViewHandlerExImpl.renderView(ViewHandlerExImpl.java:336)
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:103)
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:210)
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:120)
com.ibm.xsp.controller.FacesControllerImpl.render(FacesControllerImpl.java:270)
com.ibm.xsp.webapp.FacesServlet.serviceView(FacesServlet.java:261)
com.ibm.xsp.webapp.FacesServletEx.serviceView(FacesServletEx.java:157)
com.ibm.xsp.webapp.FacesServlet.service(FacesServlet.java:160)
com.ibm.xsp.webapp.FacesServletEx.service(FacesServletEx.java:138)
com.ibm.xsp.webapp.DesignerFacesServlet.service(DesignerFacesServlet.java:103)
com.ibm.designer.runtime.domino.adapter.ComponentModule.invokeServlet(ComponentModule.java:576)
com.ibm.domino.xsp.module.nsf.NSFComponentModule.invokeServlet(NSFComponentModule.java:1335)
com.ibm.designer.runtime.domino.adapter.ComponentModule$AdapterInvoker.invokeServlet(ComponentModule.java:853)
com.ibm.designer.runtime.domino.adapter.ComponentModule$ServletInvoker.doService(ComponentModule.java:796)
com.ibm.designer.runtime.domino.adapter.ComponentModule.doService(ComponentModule.java:565)
com.ibm.domino.xsp.module.nsf.NSFComponentModule.doService(NSFComponentModule.java:1319)
com.ibm.domino.xsp.module.nsf.NSFService.doServiceInternal(NSFService.java:662)
com.ibm.domino.xsp.module.nsf.NSFService.doService(NSFService.java:482)
org.openntf.domino.xsp.adapter.OpenntfHttpService.doService(OpenntfHttpService.java:89)
com.ibm.designer.runtime.domino.adapter.LCDEnvironment.doService(LCDEnvironment.java:350)
com.ibm.designer.runtime.domino.adapter.LCDEnvironment.service(LCDEnvironment.java:306)
com.ibm.domino.xsp.bridge.http.engine.XspCmdManager.service(XspCmdManager.java:272)
javax.faces.FacesException: javax.faces.FacesException: Can't instantiate class: 'de.holistic.XXXX.searchEngine.SUDValuesManager'.. java.lang.ClassNotFoundException: class java.lang.NullPointerException: null
com.sun.faces.application.ApplicationAssociate.createAndMaybeStoreManagedBeans(ApplicationAssociate.java:278)
com.sun.faces.el.VariableResolverImpl.resolveVariable(VariableResolverImpl.java:135)
com.ibm.xsp.el.VariableResolverImpl.resolveVariable(VariableResolverImpl.java:71)
com.ibm.xsp.javascript.ServerSideLocalObject.resolveVariable(ServerSideLocalObject.java:97)
com.ibm.xsp.javascript.ServerSideLocalObject.resolveAttribute(ServerSideLocalObject.java:73)
com.ibm.xsp.javascript.AbstractLocalObject._get(AbstractLocalObject.java:119)
com.ibm.xsp.javascript.AbstractLocalObject.getPropertyReference(AbstractLocalObject.java:101)
com.ibm.jscript.engine.ProgramContext.findGlobalScopeIdentifier(ProgramContext.java:143)
com.ibm.jscript.engine.ProgramContext.findIdentifier(ProgramContext.java:134)
com.ibm.jscript.ASTTree.ASTIdentifier.interpret(ASTIdentifier.java:105)
com.ibm.jscript.ASTTree.ASTMember.interpret(ASTMember.java:106)
com.ibm.jscript.ASTTree.ASTCall.interpret(ASTCall.java:88)
com.ibm.jscript.ASTTree.ASTArgumentList.interpretArguments(ASTArgumentList.java:65)
com.ibm.jscript.types.FBSObject.call(FBSObject.java:153)
com.ibm.jscript.ASTTree.ASTCall.interpret(ASTCall.java:197)
com.ibm.jscript.ASTTree.ASTProgram.interpret(ASTProgram.java:119)
com.ibm.jscript.ASTTree.ASTProgram.interpretEx(ASTProgram.java:139)
com.ibm.jscript.JSExpression._interpretExpression(JSExpression.java:435)
com.ibm.jscript.JSExpression.access(JSExpression.java:424)
com.ibm.jscript.JSExpression.run(JSExpression.java:414)
java.security.AccessController.doPrivileged(AccessController.java:362)
com.ibm.jscript.JSExpression.interpretExpression(JSExpression.java:410)
com.ibm.jscript.JSExpression.evaluateValue(JSExpression.java:251)
com.ibm.jscript.JSExpression.evaluateValue(JSExpression.java:234)
com.ibm.xsp.javascript.JavaScriptInterpreter.interpret(JavaScriptInterpreter.java:222)
com.ibm.xsp.javascript.JavaScriptInterpreter.interpret(JavaScriptInterpreter.java:194)
com.ibm.xsp.binding.javascript.JavaScriptValueBinding.getValue(JavaScriptValueBinding.java:78)
javax.faces.component.UISelectItems.getValue(UISelectItems.java:123)
com.ibm.xsp.component.UISelectItemsEx.getValue(UISelectItemsEx.java:64)
com.sun.faces.util.Util.getSelectItems(Util.java:492)
com.sun.faces.renderkit.html_basic.MenuRenderer.getOptionNumber(MenuRenderer.java:410)
com.sun.faces.renderkit.html_basic.MenuRenderer.renderSelect(MenuRenderer.java:388)
com.sun.faces.renderkit.html_basic.MenuRenderer.encodeEnd(MenuRenderer.java:357)
com.ibm.xsp.renderkit.html_basic.MenuRenderer.encodeEnd(MenuRenderer.java:47)
com.ibm.xsp.renderkit.ReadOnlyAdapterRenderer.encodeEnd(ReadOnlyAdapterRenderer.java:180)
javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:1005)
com.ibm.xsp.component.UISelectOneEx.encodeEnd(UISelectOneEx.java:331)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:858)
com.ibm.xsp.util.FacesUtil.renderChildren(FacesUtil.java:873)
com.ibm.xsp.renderkit.html_extended.HtmlBasicRenderer.encodeChildren(HtmlBasicRenderer.java:206)
com.ibm.xsp.renderkit.ReadOnlyAdapterRenderer.encodeChildren(ReadOnlyAdapterRenderer.java:162)
javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:979)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:844)
com.ibm.xsp.util.FacesUtil.renderChildren(FacesUtil.java:873)
com.ibm.xsp.renderkit.html_extended.HtmlBasicRenderer.encodeChildren(HtmlBasicRenderer.java:206)
com.ibm.xsp.renderkit.ReadOnlyAdapterRenderer.encodeChildren(ReadOnlyAdapterRenderer.java:162)
javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:979)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:844)
com.ibm.xsp.util.FacesUtil.renderChildren(FacesUtil.java:873)
com.ibm.xsp.renderkit.html_extended.HtmlBasicRenderer.encodeChildren(HtmlBasicRenderer.java:206)
com.ibm.xsp.renderkit.ReadOnlyAdapterRenderer.encodeChildren(ReadOnlyAdapterRenderer.java:162)
javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:979)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:844)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:853)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:853)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:853)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:853)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:853)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:853)
com.ibm.xsp.component.UIViewRootEx._renderView(UIViewRootEx.java:1317)
com.ibm.xsp.component.UIViewRootEx.renderView(UIViewRootEx.java:1255)
com.ibm.xsp.application.ViewHandlerExImpl.doRender(ViewHandlerExImpl.java:651)
com.ibm.xsp.application.ViewHandlerExImpl._renderView(ViewHandlerExImpl.java:321)
com.ibm.xsp.application.ViewHandlerExImpl.renderView(ViewHandlerExImpl.java:336)
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:103)
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:210)
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:120)
com.ibm.xsp.controller.FacesControllerImpl.render(FacesControllerImpl.java:270)
com.ibm.xsp.webapp.FacesServlet.serviceView(FacesServlet.java:261)
com.ibm.xsp.webapp.FacesServletEx.serviceView(FacesServletEx.java:157)
com.ibm.xsp.webapp.FacesServlet.service(FacesServlet.java:160)
com.ibm.xsp.webapp.FacesServletEx.service(FacesServletEx.java:138)
com.ibm.xsp.webapp.DesignerFacesServlet.service(DesignerFacesServlet.java:103)
com.ibm.designer.runtime.domino.adapter.ComponentModule.invokeServlet(ComponentModule.java:576)
com.ibm.domino.xsp.module.nsf.NSFComponentModule.invokeServlet(NSFComponentModule.java:1335)
com.ibm.designer.runtime.domino.adapter.ComponentModule$AdapterInvoker.invokeServlet(ComponentModule.java:853)
com.ibm.designer.runtime.domino.adapter.ComponentModule$ServletInvoker.doService(ComponentModule.java:796)
com.ibm.designer.runtime.domino.adapter.ComponentModule.doService(ComponentModule.java:565)
com.ibm.domino.xsp.module.nsf.NSFComponentModule.doService(NSFComponentModule.java:1319)
com.ibm.domino.xsp.module.nsf.NSFService.doServiceInternal(NSFService.java:662)
com.ibm.domino.xsp.module.nsf.NSFService.doService(NSFService.java:482)
org.openntf.domino.xsp.adapter.OpenntfHttpService.doService(OpenntfHttpService.java:89)
com.ibm.designer.runtime.domino.adapter.LCDEnvironment.doService(LCDEnvironment.java:350)
com.ibm.designer.runtime.domino.adapter.LCDEnvironment.service(LCDEnvironment.java:306)
com.ibm.domino.xsp.bridge.http.engine.XspCmdManager.service(XspCmdManager.java:272)
javax.faces.FacesException: Can't instantiate class: 'de.holistic.<removed for customer anonyminity>.searchEngine.SUDValuesManager'.. java.lang.ClassNotFoundException: class java.lang.NullPointerException: null
com.sun.faces.config.ManagedBeanFactory.newInstance(ManagedBeanFactory.java:234)
com.sun.faces.application.ApplicationAssociate.createAndMaybeStoreManagedBeans(ApplicationAssociate.java:269)
com.sun.faces.el.VariableResolverImpl.resolveVariable(VariableResolverImpl.java:135)
com.ibm.xsp.el.VariableResolverImpl.resolveVariable(VariableResolverImpl.java:71)
com.ibm.xsp.javascript.ServerSideLocalObject.resolveVariable(ServerSideLocalObject.java:97)
com.ibm.xsp.javascript.ServerSideLocalObject.resolveAttribute(ServerSideLocalObject.java:73)
com.ibm.xsp.javascript.AbstractLocalObject._get(AbstractLocalObject.java:119)
com.ibm.xsp.javascript.AbstractLocalObject.getPropertyReference(AbstractLocalObject.java:101)
com.ibm.jscript.engine.ProgramContext.findGlobalScopeIdentifier(ProgramContext.java:143)
com.ibm.jscript.engine.ProgramContext.findIdentifier(ProgramContext.java:134)
com.ibm.jscript.ASTTree.ASTIdentifier.interpret(ASTIdentifier.java:105)
com.ibm.jscript.ASTTree.ASTMember.interpret(ASTMember.java:106)
com.ibm.jscript.ASTTree.ASTCall.interpret(ASTCall.java:88)
com.ibm.jscript.ASTTree.ASTArgumentList.interpretArguments(ASTArgumentList.java:65)
com.ibm.jscript.types.FBSObject.call(FBSObject.java:153)
com.ibm.jscript.ASTTree.ASTCall.interpret(ASTCall.java:197)
com.ibm.jscript.ASTTree.ASTProgram.interpret(ASTProgram.java:119)
com.ibm.jscript.ASTTree.ASTProgram.interpretEx(ASTProgram.java:139)
com.ibm.jscript.JSExpression._interpretExpression(JSExpression.java:435)
com.ibm.jscript.JSExpression.access(JSExpression.java:424)
com.ibm.jscript.JSExpression.run(JSExpression.java:414)
java.security.AccessController.doPrivileged(AccessController.java:362)
com.ibm.jscript.JSExpression.interpretExpression(JSExpression.java:410)
com.ibm.jscript.JSExpression.evaluateValue(JSExpression.java:251)
com.ibm.jscript.JSExpression.evaluateValue(JSExpression.java:234)
com.ibm.xsp.javascript.JavaScriptInterpreter.interpret(JavaScriptInterpreter.java:222)
com.ibm.xsp.javascript.JavaScriptInterpreter.interpret(JavaScriptInterpreter.java:194)
com.ibm.xsp.binding.javascript.JavaScriptValueBinding.getValue(JavaScriptValueBinding.java:78)
javax.faces.component.UISelectItems.getValue(UISelectItems.java:123)
com.ibm.xsp.component.UISelectItemsEx.getValue(UISelectItemsEx.java:64)
com.sun.faces.util.Util.getSelectItems(Util.java:492)
com.sun.faces.renderkit.html_basic.MenuRenderer.getOptionNumber(MenuRenderer.java:410)
com.sun.faces.renderkit.html_basic.MenuRenderer.renderSelect(MenuRenderer.java:388)
com.sun.faces.renderkit.html_basic.MenuRenderer.encodeEnd(MenuRenderer.java:357)
com.ibm.xsp.renderkit.html_basic.MenuRenderer.encodeEnd(MenuRenderer.java:47)
com.ibm.xsp.renderkit.ReadOnlyAdapterRenderer.encodeEnd(ReadOnlyAdapterRenderer.java:180)
javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:1005)
com.ibm.xsp.component.UISelectOneEx.encodeEnd(UISelectOneEx.java:331)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:858)
com.ibm.xsp.util.FacesUtil.renderChildren(FacesUtil.java:873)
com.ibm.xsp.renderkit.html_extended.HtmlBasicRenderer.encodeChildren(HtmlBasicRenderer.java:206)
com.ibm.xsp.renderkit.ReadOnlyAdapterRenderer.encodeChildren(ReadOnlyAdapterRenderer.java:162)
javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:979)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:844)
com.ibm.xsp.util.FacesUtil.renderChildren(FacesUtil.java:873)
com.ibm.xsp.renderkit.html_extended.HtmlBasicRenderer.encodeChildren(HtmlBasicRenderer.java:206)
com.ibm.xsp.renderkit.ReadOnlyAdapterRenderer.encodeChildren(ReadOnlyAdapterRenderer.java:162)
javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:979)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:844)
com.ibm.xsp.util.FacesUtil.renderChildren(FacesUtil.java:873)
com.ibm.xsp.renderkit.html_extended.HtmlBasicRenderer.encodeChildren(HtmlBasicRenderer.java:206)
com.ibm.xsp.renderkit.ReadOnlyAdapterRenderer.encodeChildren(ReadOnlyAdapterRenderer.java:162)
javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:979)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:844)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:853)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:853)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:853)
尝试过的解决方案
- 所有项目都已经辞职重建(无数次)了。
- Notes.ini 已检查以确保加载 OSGi 库。此外,已执行控制台命令并已确认加载库。
- 最初,ExtLib 更新站点已在 Notes.ini 中更改。这已更改为指向正确的 updateSite.nsf.
- 已使用 ODA、ExtLibs 和基本 类 在服务器上创建测试 XPage 应用程序。所有 Java 类 都可以正确加载,但是这些测试仅使用存储在 Web Content/WEB-INF/src 中的 java 类 而不是 jars。找不到测试数据库的问题。
- 使用导航器,手动删除了 Web Content/WEB-INF/Classes 文件,并重建了项目。
- 手动删除了本地内容并重建了应用程序。
- 已检查 domino 服务器安全文档选项卡,以确认应用程序的签名被列为允许 运行 java 和 xpages。
- 不言而喻,faces-config.xml 文件已经过检查以确认拼写正确和完整性。没有发现问题。
- 已检查构建路径以确认它们设置正确。没有发现任何问题。
问题
如果可以假定有人更改了服务器设置(因为 OSGI notes.ini 变量已更改),那么还可以更改哪些内容会导致 ClassNotFound 运行 时间异常?
我还能做些什么来解决这个问题?同样,在本地,所有应用程序都正常 运行ning。只有在客户的测试服务器上,我才会收到这些 运行 时间异常。
您的 SUDValuesManager 构造函数中的某些内容正在抛出 NullPointerException。我相当有信心是这种情况......因为我刚刚遇到了相同格式的相同异常:
javax.faces.FacesException: Can't instantiate class:
<INSERT CLASS NAME HERE>..
java.lang.ClassNotFoundException: class java.lang.NullPointerException: null
NullPointerException 是这里真正的异常,而不是 ClassNotFoundException。 就我而言,在我的构造函数中,我正在访问一个视图来填充一些值。我没有在我正在检索的视图上测试 null(因此出现 NullPointerException),然后这也引发了 ClassNotFoundException。因为我还没有刷新目标数据库的设计,它没有视图,当我试图从中检索 viewEntryCollection 时,这是空指针异常。
在 SUDValuesManager 的构造函数中检查您的代码,了解您没有防范的任何可能的 NPE,或者将其包围在 try/catch(异常 e)中并打印任何捕获的异常的堆栈跟踪。