The Xpages app is a few years old, but now, any updates to an existing Xpage breaks it with a browser message:
HTTP Web Server: Item Not Found Exception
The xpages_exec log shows:
com.ibm.xsp.page.PageNotFoundException: Could not create the page /Cards.xsp because the class xsp.Cards could not be found. Please check your spelling.
This occurs even if simply resaving a working Xpage; the Xpage class will no longer be found. Same if simply renaming or copying an Xpage. I have used Domino Designer on other workstations with the same results on the server.
Perhaps this is a JVM run time issue? The server console shows the JVM version:
JVM: Java Virtual Machine initialized.
Java runtime version: 8.0.5.6 - pwa6480sr5fp6-20171124_02(SR5 FP6)
JVM version: JRE 1.8.0 Windows Server 2008 R2 amd64-64 20171122_371101 (JIT enabled, AOT enabled) OpenJ9 - 8e3c85d OMR - 713f08e IBM - c041ee8
The Domino Designer Java compiler workspace settings JDK compliance level is set to 1.5 with JRE 1.6 installed.
How might I determine why after new build of an Xpage causes the Xpage class to no longer be found?
UPDATE: from the xpages exec log:
1/16/20 12:33 PM: Exception Thrown
com.ibm.xsp.page.PageNotFoundException: Could not create the page /Cards.xsp because the class xsp.Cards could not be found. Please check your spelling.
at com.ibm.xsp.page.compiled.CompiledPageDriver.getClassForPageName(CompiledPageDriver.java:174)
at com.ibm.xsp.page.compiled.CompiledPageDriver.loadPage(CompiledPageDriver.java:61)
at com.ibm.xsp.application.ViewHandlerExImpl._createViewRoot(ViewHandlerExImpl.java:499)
at com.ibm.xsp.application.ViewHandlerExImpl.createViewRoot(ViewHandlerExImpl.java:567)
at com.ibm.xsp.application.ViewHandlerExImpl.doCreateView(ViewHandlerExImpl.java:142)
at com.ibm.xsp.application.ViewHandlerEx.createView(ViewHandlerEx.java:90)
at com.ibm.xsp.webapp.FacesServlet.serviceView(FacesServlet.java:250)
at com.ibm.xsp.webapp.FacesServletEx.serviceView(FacesServletEx.java:157)
at com.ibm.xsp.webapp.FacesServlet.service(FacesServlet.java:159)
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.ClassNotFoundException: Cannot find class xsp.Cards in NSF
at com.ibm.domino.xsp.module.nsf.ModuleClassLoader$DynamicClassLoader.findClass(ModuleClassLoader.java:503)
at java.lang.ClassLoader.loadClassHelper(ClassLoader.java:924)
at java.lang.ClassLoader.loadClass(ClassLoader.java:869)
at com.ibm.domino.xsp.module.nsf.ModuleClassLoader$DynamicClassLoader.loadClass(ModuleClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:852)
at com.ibm.domino.xsp.module.nsf.ModuleClassLoader.loadClass(ModuleClassLoader.java:209)
at java.lang.ClassLoader.loadClass(ClassLoader.java:852)
at com.ibm.domino.xsp.module.nsf.ModuleClassLoader.loadClass(ModuleClassLoader.java:219)
at com.ibm.designer.runtime.Application.loadClass(Application.java:708)
at com.ibm.xsp.library.ApplicationFacesClassLoader.loadClass(ApplicationFacesClassLoader.java:54)
at com.ibm.xsp.page.compiled.CompiledPageDriver.getClassForPageName(CompiledPageDriver.java:169)
... 21 more
Caused by: java.lang.ClassNotFoundException: xsp.Cards
at java.net.URLClassLoader.findClass(URLClassLoader.java:609)
at com.ibm.domino.xsp.module.nsf.ModuleClassLoader$DynamicClassLoader.findClass(ModuleClassLoader.java:476)
... 31 more
In Domino Designer, switch to the Package Explorer view, and look for any errors. In the case above, the library com.ibm.xsp.extlib.relational.library was included in the xsp.properties file but not found. Remove the dependency from xsp.properties or make sure the library is installed or in the build path.