Karaf 2.2 issue with org.apache.xerces.jaxp.SAXParserFactoryImpl not found

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Karaf 2.2 issue with org.apache.xerces.jaxp.SAXParserFactoryImpl not found

dobi
Hello,

I am porting an apache batik user interface that displays svg files to osgi. Currently the application displays a simple about window. I got all osgi dependencies solved by wrapping them or using bundles from servicemix, now the following error occurs:

javax.xml.parsers.FactoryConfigurationError: Provider org.apache.xerces.jaxp.SAXParserFactoryImpl not found

After searching and reading some posts, I think I need to change the etc/jre.properties to comment out the jre provided xml libraries that xml-apis provide. But after removing all xml.* libraries that the header of the xml-apis bundle shows, karaf does not start anymore. I should probably load the xml-apis earlier in the bundle startup order, but I don't know exactly how to do that.
Do I need that xml-apis bundle at all? My other thought is that I leave xml-apis away and somehow tell the jre where to find the correct SAXParserFactory.

Thanks for any hints.

-marcus

environment:
---------------
Karaf 2.2.0
Sun Java HotSpot(TM) Server VM version 16.3-b01
version 1.6.0_20
Ubuntu 9.04, Linux version 2.6.28-19-generic, i386

stacktrace:
-------------
14:24:58,286 | ERROR | ExtenderThread-2 | ContextLoaderListener            | BundleApplicationContextListener   50 | 54 - org.springframework.osgi.extender - 1.2.1 | Application context refresh failed (OsgiBundleXmlApplicationContext(bundle=fi.somebundle.ui-display, config=osgibundle:/META-INF/spring/*.xml))
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'springActivated' defined in URL [bundle://57.1:0/META-INF/spring/applicationContext.xml]: Invocation of init method failed; nested exception is javax.xml.parsers.FactoryConfigurationError: Provider org.apache.xerces.jaxp.SAXParserFactoryImpl not found
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1420)[47:org.springframework.beans:3.0.5.RELEASE]
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)[47:org.springframework.beans:3.0.5.RELEASE]
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)[47:org.springframework.beans:3.0.5.RELEASE]
        at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)[47:org.springframework.beans:3.0.5.RELEASE]
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)[47:org.springframework.beans:3.0.5.RELEASE]
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)[47:org.springframework.beans:3.0.5.RELEASE]
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)[47:org.springframework.beans:3.0.5.RELEASE]
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:580)[47:org.springframework.beans:3.0.5.RELEASE]
        at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)[49:org.springframework.context:3.0.5.RELEASE]
        at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.access$1600(AbstractDelegatedExecutionApplicationContext.java:69)[53:org.springframework.osgi.core:1.2.1]
        at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext$4.run(AbstractDelegatedExecutionApplicationContext.java:355)[53:org.springframework.osgi.core:1.2.1]
        at org.springframework.osgi.util.internal.PrivilegedUtils.executeWithCustomTCCL(PrivilegedUtils.java:85)[53:org.springframework.osgi.core:1.2.1]
        at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.completeRefresh(AbstractDelegatedExecutionApplicationContext.java:320)[53:org.springframework.osgi.core:1.2.1]
        at org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor$CompleteRefreshTask.run(DependencyWaiterApplicationContextExecutor.java:132)[54:org.springframework.osgi.extender:1.2.1]
        at java.lang.Thread.run(Thread.java:619)[:1.6.0_20]
Caused by: javax.xml.parsers.FactoryConfigurationError: Provider org.apache.xerces.jaxp.SAXParserFactoryImpl not found
        at javax.xml.parsers.SAXParserFactory.newInstance(Unknown Source)[:1.6.0_20]
        at org.apache.batik.dom.util.SAXDocumentFactory.<clinit>(SAXDocumentFactory.java:393)
        at fi.somebundle.uidisplay.internal.About.<init>(About.java:316)
        at fi.somebundle.uidisplay.internal.SpringActivated.showAbout(SpringActivated.java:78)
        at fi.somebundle.uidisplay.internal.SpringActivated.start(SpringActivated.java:33)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[:1.6.0_20]
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)[:1.6.0_20]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)[:1.6.0_20]
        at java.lang.reflect.Method.invoke(Method.java:597)[:1.6.0_20]
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1544)[47:org.springframework.beans:3.0.5.RELEASE]
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1485)[47:org.springframework.beans:3.0.5.RELEASE]
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417)[47:org.springframework.beans:3.0.5.RELEASE]
        ... 14 more


installed bundles:
---------------------

START LEVEL 100 , List Threshold: 50
   ID   State         Blueprint      Spring    Level  Location
[  43] [Active     ] [            ] [       ] [   60] mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.aopalliance/1.0_4
[  44] [Active     ] [            ] [       ] [   60] mvn:org.springframework/spring-core/3.0.5.RELEASE
[  45] [Active     ] [            ] [       ] [   60] mvn:org.springframework/spring-asm/3.0.5.RELEASE
[  46] [Active     ] [            ] [       ] [   60] mvn:org.springframework/spring-expression/3.0.5.RELEASE
[  47] [Active     ] [            ] [       ] [   60] mvn:org.springframework/spring-beans/3.0.5.RELEASE
[  48] [Active     ] [            ] [       ] [   60] mvn:org.springframework/spring-aop/3.0.5.RELEASE
[  49] [Active     ] [            ] [       ] [   60] mvn:org.springframework/spring-context/3.0.5.RELEASE
[  50] [Active     ] [            ] [       ] [   60] mvn:org.springframework/spring-context-support/3.0.5.RELEASE
[  51] [Active     ] [            ] [       ] [   60] mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.cglib/2.1_3_6
[  52] [Active     ] [            ] [       ] [   60] mvn:org.springframework.osgi/spring-osgi-io/1.2.1
[  53] [Active     ] [            ] [       ] [   60] mvn:org.springframework.osgi/spring-osgi-core/1.2.1
[  54] [Active     ] [            ] [       ] [   60] mvn:org.springframework.osgi/spring-osgi-extender/1.2.1
[  55] [Active     ] [            ] [       ] [   60] mvn:org.springframework.osgi/spring-osgi-annotation/1.2.1
[  57] [Active     ] [            ] [Failed ] [   60] mvn:fi.somebundle/ui-display/1.0-SNAPSHOT
[  59] [Active     ] [            ] [       ] [   60] wrap:mvn:org.apache.xmlgraphics/batik-swing/1.7
[  60] [Active     ] [            ] [       ] [   60] wrap:mvn:org.apache.xmlgraphics/batik-awt-util/1.7
[  61] [Active     ] [            ] [       ] [   60] wrap:mvn:org.apache.xmlgraphics/batik-util/1.7
[  62] [Active     ] [            ] [       ] [   60] wrap:mvn:org.apache.xmlgraphics/batik-bridge/1.7
[  63] [Active     ] [            ] [       ] [   60] wrap:mvn:org.apache.xmlgraphics/batik-anim/1.7
[  64] [Active     ] [            ] [       ] [   60] wrap:mvn:org.apache.xmlgraphics/batik-dom/1.7
[  65] [Active     ] [            ] [       ] [   60] wrap:mvn:org.apache.xmlgraphics/batik-css/1.7
[  66] [Active     ] [            ] [       ] [   60] wrap:mvn:org.apache.xmlgraphics/batik-ext/1.7
[  72] [Active     ] [            ] [       ] [   60] mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xalan/2.7.1_3
[  73] [Active     ] [            ] [       ] [   60] wrap:mvn:org.apache.xmlgraphics/batik-xml/1.7
[  79] [Active     ] [            ] [       ] [   60] wrap:mvn:xalan/serializer/2.7.1
[  80] [Active     ] [            ] [       ] [   60] mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.bcel/5.2_3
[  81] [Active     ] [            ] [       ] [   60] mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xerces/2.9.1_4
[  82] [Active     ] [            ] [       ] [   60] mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xmlresolver/1.2_3
[  83] [Active     ] [            ] [       ] [   60] wrap:mvn:org.apache.xmlgraphics/batik-svg-dom/1.7
[  84] [Active     ] [            ] [       ] [   60] wrap:mvn:org.apache.xmlgraphics/batik-parser/1.7
[  85] [Active     ] [            ] [       ] [   60] wrap:mvn:org.apache.xmlgraphics/batik-gui-util/1.7
[  86] [Active     ] [            ] [       ] [   60] wrap:mvn:org.apache.xmlgraphics/batik-gvt/1.7
[  87] [Active     ] [            ] [       ] [   60] wrap:mvn:org.apache.xmlgraphics/batik-script/1.7
[  88] [Active     ] [            ] [       ] [   60] wrap:mvn:org.apache.xmlgraphics/batik-js/1.7
[  89] [Active     ] [            ] [       ] [   60] mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xmlbeans/2.5.0_1
[  90] [Active     ] [            ] [       ] [   60] mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.ant/1.7.0_4
[  91] [Active     ] [            ] [       ] [   60] wrap:mvn:xml-apis/xml-apis/1.3.04
[  92] [Active     ] [            ] [       ] [   60] wrap:mvn:xml-apis/xml-apis-ext/1.3.04

Reply | Threaded
Open this post in threaded view
|

Re: Karaf 2.2 issue with org.apache.xerces.jaxp.SAXParserFactoryImpl not found

mikevan
dobi wrote
Hello,

I am porting an apache batik user interface that displays svg files to osgi. Currently the application displays a simple about window. I got all osgi dependencies solved by wrapping them or using bundles from servicemix, now the following error occurs:

javax.xml.parsers.FactoryConfigurationError: Provider org.apache.xerces.jaxp.SAXParserFactoryImpl not found

After searching and reading some posts, I think I need to change the etc/jre.properties to comment out the jre provided xml libraries that xml-apis provide. But after removing all xml.* libraries that the header of the xml-apis bundle shows, karaf does not start anymore. I should probably load the xml-apis earlier in the bundle startup order, but I don't know exactly how to do that.
Do I need that xml-apis bundle at all? My other thought is that I leave xml-apis away and somehow tell the jre where to find the correct SAXParserFactory.

Thanks for any hints.

-marcus

environment:
---------------
Karaf 2.2.0
Sun Java HotSpot(TM) Server VM version 16.3-b01
version 1.6.0_20
Ubuntu 9.04, Linux version 2.6.28-19-generic, i386

stacktrace:
-------------
14:24:58,286 | ERROR | ExtenderThread-2 | ContextLoaderListener            | BundleApplicationContextListener   50 | 54 - org.springframework.osgi.extender - 1.2.1 | Application context refresh failed (OsgiBundleXmlApplicationContext(bundle=fi.somebundle.ui-display, config=osgibundle:/META-INF/spring/*.xml))
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'springActivated' defined in URL [bundle://57.1:0/META-INF/spring/applicationContext.xml]: Invocation of init method failed; nested exception is javax.xml.parsers.FactoryConfigurationError: Provider org.apache.xerces.jaxp.SAXParserFactoryImpl not found
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1420)[47:org.springframework.beans:3.0.5.RELEASE]
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)[47:org.springframework.beans:3.0.5.RELEASE]
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)[47:org.springframework.beans:3.0.5.RELEASE]
        at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)[47:org.springframework.beans:3.0.5.RELEASE]
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)[47:org.springframework.beans:3.0.5.RELEASE]
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)[47:org.springframework.beans:3.0.5.RELEASE]
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)[47:org.springframework.beans:3.0.5.RELEASE]
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:580)[47:org.springframework.beans:3.0.5.RELEASE]
        at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)[49:org.springframework.context:3.0.5.RELEASE]
        at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.access$1600(AbstractDelegatedExecutionApplicationContext.java:69)[53:org.springframework.osgi.core:1.2.1]
        at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext$4.run(AbstractDelegatedExecutionApplicationContext.java:355)[53:org.springframework.osgi.core:1.2.1]
        at org.springframework.osgi.util.internal.PrivilegedUtils.executeWithCustomTCCL(PrivilegedUtils.java:85)[53:org.springframework.osgi.core:1.2.1]
        at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.completeRefresh(AbstractDelegatedExecutionApplicationContext.java:320)[53:org.springframework.osgi.core:1.2.1]
        at org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor$CompleteRefreshTask.run(DependencyWaiterApplicationContextExecutor.java:132)[54:org.springframework.osgi.extender:1.2.1]
        at java.lang.Thread.run(Thread.java:619)[:1.6.0_20]
Caused by: javax.xml.parsers.FactoryConfigurationError: Provider org.apache.xerces.jaxp.SAXParserFactoryImpl not found
        at javax.xml.parsers.SAXParserFactory.newInstance(Unknown Source)[:1.6.0_20]
        at org.apache.batik.dom.util.SAXDocumentFactory.<clinit>(SAXDocumentFactory.java:393)
        at fi.somebundle.uidisplay.internal.About.<init>(About.java:316)
        at fi.somebundle.uidisplay.internal.SpringActivated.showAbout(SpringActivated.java:78)
        at fi.somebundle.uidisplay.internal.SpringActivated.start(SpringActivated.java:33)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[:1.6.0_20]
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)[:1.6.0_20]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)[:1.6.0_20]
        at java.lang.reflect.Method.invoke(Method.java:597)[:1.6.0_20]
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1544)[47:org.springframework.beans:3.0.5.RELEASE]
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1485)[47:org.springframework.beans:3.0.5.RELEASE]
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417)[47:org.springframework.beans:3.0.5.RELEASE]
        ... 14 more


installed bundles:
---------------------

START LEVEL 100 , List Threshold: 50
   ID   State         Blueprint      Spring    Level  Location
[  43] [Active     ] [            ] [       ] [   60] mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.aopalliance/1.0_4
[  44] [Active     ] [            ] [       ] [   60] mvn:org.springframework/spring-core/3.0.5.RELEASE
[  45] [Active     ] [            ] [       ] [   60] mvn:org.springframework/spring-asm/3.0.5.RELEASE
[  46] [Active     ] [            ] [       ] [   60] mvn:org.springframework/spring-expression/3.0.5.RELEASE
[  47] [Active     ] [            ] [       ] [   60] mvn:org.springframework/spring-beans/3.0.5.RELEASE
[  48] [Active     ] [            ] [       ] [   60] mvn:org.springframework/spring-aop/3.0.5.RELEASE
[  49] [Active     ] [            ] [       ] [   60] mvn:org.springframework/spring-context/3.0.5.RELEASE
[  50] [Active     ] [            ] [       ] [   60] mvn:org.springframework/spring-context-support/3.0.5.RELEASE
[  51] [Active     ] [            ] [       ] [   60] mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.cglib/2.1_3_6
[  52] [Active     ] [            ] [       ] [   60] mvn:org.springframework.osgi/spring-osgi-io/1.2.1
[  53] [Active     ] [            ] [       ] [   60] mvn:org.springframework.osgi/spring-osgi-core/1.2.1
[  54] [Active     ] [            ] [       ] [   60] mvn:org.springframework.osgi/spring-osgi-extender/1.2.1
[  55] [Active     ] [            ] [       ] [   60] mvn:org.springframework.osgi/spring-osgi-annotation/1.2.1
[  57] [Active     ] [            ] [Failed ] [   60] mvn:fi.somebundle/ui-display/1.0-SNAPSHOT
[  59] [Active     ] [            ] [       ] [   60] wrap:mvn:org.apache.xmlgraphics/batik-swing/1.7
[  60] [Active     ] [            ] [       ] [   60] wrap:mvn:org.apache.xmlgraphics/batik-awt-util/1.7
[  61] [Active     ] [            ] [       ] [   60] wrap:mvn:org.apache.xmlgraphics/batik-util/1.7
[  62] [Active     ] [            ] [       ] [   60] wrap:mvn:org.apache.xmlgraphics/batik-bridge/1.7
[  63] [Active     ] [            ] [       ] [   60] wrap:mvn:org.apache.xmlgraphics/batik-anim/1.7
[  64] [Active     ] [            ] [       ] [   60] wrap:mvn:org.apache.xmlgraphics/batik-dom/1.7
[  65] [Active     ] [            ] [       ] [   60] wrap:mvn:org.apache.xmlgraphics/batik-css/1.7
[  66] [Active     ] [            ] [       ] [   60] wrap:mvn:org.apache.xmlgraphics/batik-ext/1.7
[  72] [Active     ] [            ] [       ] [   60] mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xalan/2.7.1_3
[  73] [Active     ] [            ] [       ] [   60] wrap:mvn:org.apache.xmlgraphics/batik-xml/1.7
[  79] [Active     ] [            ] [       ] [   60] wrap:mvn:xalan/serializer/2.7.1
[  80] [Active     ] [            ] [       ] [   60] mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.bcel/5.2_3
[  81] [Active     ] [            ] [       ] [   60] mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xerces/2.9.1_4
[  82] [Active     ] [            ] [       ] [   60] mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xmlresolver/1.2_3
[  83] [Active     ] [            ] [       ] [   60] wrap:mvn:org.apache.xmlgraphics/batik-svg-dom/1.7
[  84] [Active     ] [            ] [       ] [   60] wrap:mvn:org.apache.xmlgraphics/batik-parser/1.7
[  85] [Active     ] [            ] [       ] [   60] wrap:mvn:org.apache.xmlgraphics/batik-gui-util/1.7
[  86] [Active     ] [            ] [       ] [   60] wrap:mvn:org.apache.xmlgraphics/batik-gvt/1.7
[  87] [Active     ] [            ] [       ] [   60] wrap:mvn:org.apache.xmlgraphics/batik-script/1.7
[  88] [Active     ] [            ] [       ] [   60] wrap:mvn:org.apache.xmlgraphics/batik-js/1.7
[  89] [Active     ] [            ] [       ] [   60] mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xmlbeans/2.5.0_1
[  90] [Active     ] [            ] [       ] [   60] mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.ant/1.7.0_4
[  91] [Active     ] [            ] [       ] [   60] wrap:mvn:xml-apis/xml-apis/1.3.04
[  92] [Active     ] [            ] [       ] [   60] wrap:mvn:xml-apis/xml-apis-ext/1.3.04
Dobi,

A couple of items to consider.  First, you shouldn't have to remove anything from the jre.properties file.  In some cases, adding something may be helpful.  Second, the issue is that there is no bundle in your environment that is exporting the "org.apache.xerces.jaxp" package. To confirm this, type this from your karaf console:

karaf@root:  exports | grep org.apache.xerces.jaxp

If that returns nothing, then you should find the bundle that exports that package, and install it as a bundle in Karaf.  

Please try this, if it doesn't work, please let us know.
Reply | Threaded
Open this post in threaded view
|

Re: Karaf 2.2 issue with org.apache.xerces.jaxp.SAXParserFactoryImpl not found

dobi
Thanks,

the package is available in the xerces bundle.

exports | grep org.apache.xerces.jaxp

karaf@root> exports | grep org.apache.xerces.jaxp
    81 org.apache.xerces.jaxp.validation      
    81 org.apache.xerces.jaxp                  
    81 org.apache.xerces.jaxp.datatype  

bundle 81 is mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xerces/2.9.1_4

I had to add the following packages to the MANIFEST import:

org.apache.xerces.jaxp,
org.apache.xerces.parsers,
org.apache.xerces.impl.dv.dtd,
org.apache.xerces.impl.dv.xs,

then I got more of these problems, which required imports in other batik bundles until the class org.w3c.dom.ElementTraversal is not found in the jre org.w3c.dom package.

Caused by: java.lang.ClassNotFoundException: *** Package 'org.w3c.dom' is imported by bundle wrap_mvn_org.apache.xmlgraphics_batik-dom_1.7 [64] from bundle org.apache.felix.framework [0], but the exported package from bundle org.apache.felix.framework [0] does not contain the requested class 'org.w3c.dom.ElementTraversal'. Please verify that the class name is correct in the importing bundle wrap_mvn_org.apache.xmlgraphics_batik-dom_1.7 [64] and/or that the exported package is correctly bundled in org.apache.felix.framework [0]. ***

It is contained in the batik-ext package, so I should convince the framework to wire that package from bundle batik-ext to bundle 64.
I'll try adding a version to the wrapped packages and using import-package with the 'uses' directive. The problem is that I don't know exactly if some packages can still come from the jre or if all org.w3c.dom.x packages have to then come from the the batik dependencies (batik-ext and the others from xml-apis).

--marcus
Reply | Threaded
Open this post in threaded view
|

Re: Karaf 2.2 issue with org.apache.xerces.jaxp.SAXParserFactoryImpl not found

dobi
Hello,

I finally got this working. The problem was that the jre org.w3.dom
package has no class ElementTraversal, which is added by the batik-ext
package in a standard java environment. But as osgi can only wire a
package from one bundle, the batik-ext bundle I installed was not used for
wiring, but instead org.w3c.dom came from the system bundle.

I just put the batik-ext.jar to karaf/lib/ext, so that it is added to
the jre dom package. Seems so simple after all the headache.

marcus