Quick Tip: Stable ndext Classpaths In Designer 14+

Wed Feb 04 11:55:27 EST 2026

Tags: java xpages
  1. Oct 19 2018 - AbstractCompiledPage, Missing Plugins, and MANIFEST.MF in FP10 and V10
  2. Jan 07 2020 - Domino 11's Java Switch Fallout
  3. Jan 29 2021 - fontconfig, Java, and Domino 11
  4. Nov 17 2022 - Notes/Domino 12.0.2 Fallout
  5. Dec 15 2023 - Notes/Domino 14 Fallout
  6. Sep 12 2024 - PSA: ndext JARs on Designer 14 FP1 and FP2
  7. Dec 16 2024 - PSA: XPages Breaking Changes in 14.0 FP3
  8. Jun 17 2025 - Notes/Domino 14.5 Fallout
  9. Feb 04 2026 - Quick Tip: Stable ndext Classpaths In Designer 14+
  10. Feb 04 2026 - Splitting the CKEditor/TinyMCE Difference in XPages on Domino 14.5

When Notes 14 FP2 came out, I made a blog post detailing a change that HCL made to the JRE classpaths that Designer uses for compilation. Specifically, since jvm/lib/ext is not present in newer Java versions, people had found that they manually had to add JARs from ndext to the JRE to get the same sort of "local JAR" behavior from previous versions. HCL "fixed" this by making it so that Designer adds all of the JARs in ndext to the compiling JRE, which sort of fixed the problem. It had the unfortunate side effect, though, of adding the various contaminants present in the Notes JVM to the classpath, particularly Poi and (in that post's case) the ancient Servlet spec.

In that post, I explained how to fix it. However, I hadn't yet noticed that it's not just that Designer does this once, but rather that it does it every time you launch, re-breaking compilation if your code runs afoul of this. Since then, I found a workaround that seems to stick, so it's worth documenting here.

Whatever code re-mangles the classpath does it specifically to the one named "jvm", so what I do now is go to Preferences - "Java" - "Installed JREs" and add a new definition for the same path but with only the core runtime package and a distinct name:

Screenshot of the 'Edit JRE' Eclipse dialog showing a clean JRE

If you have any local JARs you do want to include, add them here.

Then, I mark that JRE as the default:

Screenshot of the 'Installed JREs' Eclipse pane showing the new JRE marked as default

With this so marked, it will (at least in my experience) stick as your default across launches and you will be blessedly free from this particular excessive zeal on Designer's part.

New Comment