jnlp not honoring custom xml parser property?

Jiri Vanek jvanek at redhat.com
Fri Nov 23 02:55:03 PST 2012

Hi Dan!

Thank you for reporting!

I'm afraid that you are right, however both our leading icedtea-web guys are on vacation so they will confirm later.

On 11/21/2012 06:57 AM, Dan Rollo wrote:
> First, apologies if I'm in the totally wrong place to ask this. Please steer me as needed.

No, this is exactly the best list for this:)
> My java webstart app uses <property> tags in the jnlp to override the default xml parsers, like so:
> ...
> <property name="javax.xml.parsers.DocumentBuilderFactory"
> value="org.apache.xerces.jaxp.DocumentBuilderFactoryImpl"/>
> <property name="javax.xml.parsers.SAXParserFactory"
> value="org.apache.xerces.jaxp.SAXParserFactoryImpl"/>
> <jar href="lib/sax.jar"/>
> <jar href="lib/dom.jar"/>
> <jar href="lib/jaxp-api.jar"/>
> <jar href="lib/xercesImpl.jar"/> <!-- NOTE: This jar contains: org.apache.xerces.jaxp.DocumentBuilderFactoryImpl.class -->
> <jar href="lib/xalan.jar"/>
> ...
> This works fine on ubuntu and many other places, but on my niffty new Raspberry Pi, I'm getting an error as if the Service Provider contract is not being honoured, and/or as if the class in not in a jar on the classpath.
> Here's the error trace snippets:

This sentence make me doubt about my original words that we are not supporting. It actually looks like we are :).

You can see that there is different JVM on your raspberry.  There is Zero, and on  ubuntu you wil have HotSpot. Although I doubt it a bit, there can be some more differences.

> Exception in thread "AWT-EventQueue-1" javax.xml.parsers.FactoryConfigurationError: Provider org.apache.xerces.jaxp.DocumentBuilderFactoryImpl not found
> at javax.xml.parsers.DocumentBuilderFactory.newInstance(DocumentBuilderFactory.java:127)
> at com.bhaweb.studioE.model.DTDResolverStudioE.createDocumentBuilderStudioE(DTDResolverStudioE.java:69)
> ...
> Caused by: java.lang.ClassNotFoundException: org/apache/xerces/jaxp/DocumentBuilderFactoryImpl
> at java.lang.Class.forName0(Native Method)
> at java.lang.Class.forName(Class.java:264)
> at javax.xml.parsers.FactoryFinder.getProviderClass(FactoryFinder.java:123)
> at javax.xml.parsers.FactoryFinder.newInstance(FactoryFinder.java:170)
> at javax.xml.parsers.FactoryFinder.newInstance(FactoryFinder.java:147)
> at javax.xml.parsers.FactoryFinder.find(FactoryFinder.java:211)
> at javax.xml.parsers.DocumentBuilderFactory.newInstance(DocumentBuilderFactory.java:121)
> ... 50 more
> I'm running OpenJDK on my RaspberryPI running Raspbian:
> $ uname -a
> Linux raspberrypi 3.2.27+ #250 PREEMPT Thu Oct 18 19:03:02 BST 2012 armv6l GNU/Linux
> $ java -version
> java version "1.7.0_07"
> OpenJDK Runtime Environment (IcedTea7 2.3.2) (7u7-2.3.2a-1+rpi1)
> OpenJDK Zero VM (build 22.0-b10, mixed mode)
> Any other info I can provide?

Yap, what java do you have on your ubuntu adn what are versions of icedtea web?  (javaws -about)

I must admit I have never testes icedtea-web on zero :(

Also it is possible that this is icedtea-web bug, but zero bug. Because icedtea-web is doing nothing more then forwarding those params to JVM.

I will ask Pavel (cc'ed) if he ever tested zero in such manners.

Thanx again for reporting!

> Thanks!
> Dan Rollo

More information about the distro-pkg-dev mailing list