poi-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bugzi...@apache.org
Subject [Bug 61478] POI OOXML-Schema lookup uses wrong classloader
Date Sun, 03 Sep 2017 05:41:48 GMT

--- Comment #20 from Greg Woolsey <gwoolsey@apache.org> ---
Argh, I should go to bed.  I see now the issue was calling from
DocumentDocument.Factory in ooxml-schemas-1.3.jar to POIXMLTypeLoader in

So it still could be the placement of ooxml-schemas-1.3.jar, but in the reverse
case - it could be that the client code can see that jar, but that jar can't
see POI.  It could be that ooxml-schemas.1.3.jar is loaded too early, and thus
can't see POI.  Perhaps some library at a higher-order classloader also loads
that jar somehow.

(In reply to Greg Woolsey from comment #19)
> From the attached stacktrace, and the sources, it can be seen that the error
> originates from 
> org.openxmlformats.schemas.wordprocessingml.x2006.main.DocumentDocument.
> Factory.parse(*)
> which is found in
> ooxml-schemas-1.3.jar
> This is a generated XMLBeans class.  Further, it isn't doing any explicit
> class loading, it is just importing a class.  So it looks to me like the
> issue is down in XMLBeans somewhere, or in the user's ClassLoader hierarchy.
> I searched the entire POI codebase, and there are no calls to
> *.forName(String, ClassLoader) or anything similar.  All calls are using the
> static Class.forName(String classname) method, which should be fine.
> I'm fairly certain the issue for the end user is the placement of
> ooxml-schemas-1.3.jar in their class loader library structure.  It could be
> defined at too high a level, and thus inaccessible to a lower classloader,
> in which case that library should be pushed down rather than POI pulled up. 
> Note that this is a standard dependency for POI.

You are receiving this mail because:
You are the assignee for the bug.
To unsubscribe, e-mail: dev-unsubscribe@poi.apache.org
For additional commands, e-mail: dev-help@poi.apache.org

View raw message