[
https://jira.jboss.org/jira/browse/JBOSGI-92?page=com.atlassian.jira.plug...
]
Thomas Diesler commented on JBOSGI-92:
--------------------------------------
I worked around this issue by using a copy of the XMLParserActivator from within the
jboss-osg-apache-xerces bundle.
This may be a Felix bug. Please add the test case that reduces the the problem to
* A imports B
* B uses Class.forName() to load a class from A
XMLParserActivator in compendium cantot load SAXParserFactory
-------------------------------------------------------------
Key: JBOSGI-92
URL:
https://jira.jboss.org/jira/browse/JBOSGI-92
Project: JBossOSGi
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: Compendium
Reporter: Thomas Diesler
Fix For: Continuing
The XercesParserActivator fails with
Caused by: javax.xml.parsers.FactoryConfigurationError: java.lang.ClassNotFoundException:
*** Class 'org.apache.xerces.jaxp.SAXParserFactoryImpl' was not found because
bundle 1 does not import 'org.apache.xerces.jaxp' even though bundle 4 does export
it. Additionally, the class is also available from the system class loader. There are two
fixes: 1) Add an import for 'org.apache.xerces.jaxp' to bundle 1; imports are
necessary for each class directly touched by bundle code or indirectly touched, such as
super classes if their methods are used. 2) Add package 'org.apache.xerces.jaxp'
to the 'org.osgi.framework.bootdelegation' property; a library or VM bug can cause
classes to be loaded by the wrong class loader. The first approach is preferable for
preserving modularity. ***
at org.osgi.util.xml.XMLParserActivator.getFactory(XMLParserActivator.java:459)
at org.osgi.util.xml.XMLParserActivator.registerSAXParsers(XMLParserActivator.java:237)
at org.osgi.util.xml.XMLParserActivator.start(XMLParserActivator.java:146)
at
org.jboss.osgi.apache.xerces.internal.XercesParserActivator.start(XercesParserActivator.java:50)
at org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:589)
at org.apache.felix.framework.Felix.startBundle(Felix.java:1458)
which is caused by
Class.forName(parserFactoryClassName).newInstance()
in the compendium jar
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira