Skip to main content

Historical libextra classpath patch

libextra/ used to be a temporary installer-side classpath patch. It vendored log4j-core-2.23.1.jar and bundled it into .DeepPhe/lib.

It is no longer part of the installer. The Java 26 path instead removes the log4j-1.2-api-* bridge jar from the installed NLP lib/ directory, while leaving the legacy log4j-1.2.17.jar needed by cTAKES GUI classes.

Why It Exists

Older DeepPhe-NLP.zip builds shipped the Log4j API and compatibility jars, but not the Log4j 2 implementation jar:

JarRole
log4j-api-2.23.1.jarLog4j 2 API.
log4j-1.2-api-2.23.1.jarLog4j 1.x to 2.x bridge.
log4j-1.2.17.jarLegacy Log4j 1.x jar.
log4j-core-2.23.1.jarMissing Log4j 2 implementation.

Without log4j-core, the desktop launcher could fail during class initialization with NoClassDefFoundError for Log4j core classes.

Current installer behavior

DeepPhe-and-Launcher.install4j does not include ./libextra. During configuration it deletes log4j-1.2-api-* from .DeepPhe/lib, because that bridge conflicts with the legacy Log4j 1.x classes used by HSQLDB/cTAKES on Java 26.

Keep this page only as history for maintainers who remember the old workaround.