Java 26 Probe
DeepPhe installer metadata now targets Java 26. Docker and local installer runtime tests showed that the NLP pipeline can run on Java 26 when these conditions hold:
- Keep the installer module flags:
--add-exports=java.base/sun.nio.ch=ALL-UNNAMED--add-opens=java.base/java.lang=ALL-UNNAMED
- Remove or exclude
log4j-1.2-api-*from the NLP runtime classpath so the legacylog4j-1.2.17.jarand Log4j 2 bridge jar are not both loaded.
The local installer probe scripts live in tests/:
./tests/run-java26-suite.sh
The most important test is the cTAKES/DeepPhe all-patient run:
./tests/ctakes-summarizer-all-patients.sh clean-classpath
It runs DefaultDeepPhe.piper over all local example patients, validates split JSON outputs, checks document counts, parses JSON, and scans logs for Java/database failure signatures.
The install4j dry-run test creates a temporary Java 26 project in test-results/; it does not edit DeepPhe-and-Launcher.install4j.
To dry-run all configured installer media ids:
I4J_BUILD_IDS='484,251,815' ./tests/install4j-java26-project-check.sh
Current Results
Local results from 2026-07-14:
./tests/ctakes-summarizer-all-patients.sh clean-classpath: passed on Java 26../tests/ctakes-summarizer-repeat.sh: passed 3 repeated Java 26 runs../tests/java26-runtime-smoke.sh wildcard-classpath: completed but failed log validation with the HSQLDB/Log4jIncompatibleClassChangeError, proving the classpath cleanup is required.I4J_BUILD_IDS='484,251,815' ./tests/install4j-java26-project-check.sh: passed install4j dry-run for macOS, Windows, and Linux media.- Direct
install4jc --test --faster --disable-signing --disable-notarization --build-ids=484,251,815 DeepPhe-and-Launcher.install4j: passed for the real project file.
The all-patient cTAKES/DeepPhe run processed 8 patients and 62 documents through DefaultDeepPhe.piper.
install4j 10.0.9 accepted 26/jdk-26.0.1+8 and created Java 26 runtime bundles for:
macos-universal-26.0.1.tar.gzwindows-amd64-26.0.1.tar.gzlinux-amd64-26.0.1.tar.gz
The installer project changes are:
javaMinVersion="26"andjavaMaxVersion="26"on the application.javaMinVersionOverride="26"andjavaMaxVersionOverride="26"on the launcher.- JRE bundle release changed from
17/jdk-17.0.19+10to26/jdk-26.0.1+8. - The NLP install script removes
log4j-1.2-api-*from.DeepPhe/lib.