A user posted a forum question on
http://www-128.ibm.com/developerworks/forums/dw_thread.jsp?forum=444&thread=145870&cat=28
.
That link has a trail of discussion that led to a resolution - the
failing case involved the
PEAR including in its lib/ subdirectory some UIMA framework Jars, such
as uima-core.jar.
The fix was to remove these from the lib/ subdirectory, and also remove
any reference in the
installation metadata for the classpath that referred to the UIMA frame
Jars.
The reason for all this is that an application must load only one set of
UIMA framework Jars,
under one class loader, in order to correctly work. The PEAR validation
mechanism was
using Pear tooling and information to set up a UIMA Extension class
loader (part of the
Resource management mechansim) and was including the UIMA framework Jars
in the
set of things to load using this class loader. The UIMA class loader
follows the protocol of
loading a class first from its specified URL list, rather than the
protocol of delegate first to
its parent - because it is intended to allow isolation of the loaded
classes from others that might
also be loaded (but at different "version" levels, etc.).
We need to consider updating our tooling to prevent other users from
encountering similar problems.
-Marshall