0
votes

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
1
Is automatic build disabled? And have you built the project?Per Henrik Lausten
Yes, automatic build is on, and I have cleaned and built the project. That's when the page no longer works.teleman
Does the file path in "Context Path" for the PageNotFoundException error in the XPages log file match the file path of your nsf?Per Henrik Lausten
The Context Path is not shown for the xsp class not found error, unlike other Xpage errors that also appear in the log. I have updated the question with a more detailed log.teleman
Switching to Package Explorer view showed that an extension library was missing that was in the xsp.properties file.teleman

1 Answers

0
votes

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.