I'm getting the following error when running the batik1.6 wrapper script: java.io.IOException: SAX2 driver class org.apache.xerces.parsers.SAXParser not found at org.apache.batik.dom.util.SAXDocumentFactory.createDocument(Unknown Source) at org.apache.batik.dom.util.SAXDocumentFactory.createDocument(Unknown Source) at org.apache.batik.dom.svg.SAXSVGDocumentFactory.createDocument(Unknown Source) at org.apache.batik.dom.svg.SAXSVGDocumentFactory.createSVGDocument(Unknown Source) at org.apache.batik.bridge.DocumentLoader.loadDocument(Unknown Source) at org.apache.batik.swing.svg.SVGDocumentLoader.run(Unknown Source) I'm no expert, but it looks to me like a classpath issue. Here's the classpath that the script is actually running: $ ps x | grep batik 9960 pts/0 S+ 0:00 /bin/sh /usr/bin/batik1.6 9962 pts/0 Sl+ 0:04 /opt/sun-jdk-1.4.2.10/bin/java -classpath /usr/share/batik-1.6/lib/batik-dom.jar:/usr/share/batik-1.6/lib/batik-ttf2svg.jar:/usr/share/batik-1.6/lib/batik-transcoder.jar:/usr/share/batik-1.6/lib/batik-squiggle.jar:/usr/share/batik-1.6/lib/batik-util.jar:/usr/share/batik-1.6/lib/batik.jar:/usr/share/batik-1.6/lib/batik-css.jar:/usr/share/batik-1.6/lib/batik-ext.jar:/usr/share/batik-1.6/lib/batik-awt-util.jar:/usr/share/batik-1.6/lib/resolver.jar:/usr/share/batik-1.6/lib/batik-parser.jar:/usr/share/batik-1.6/lib/batik-gui-util.jar:/usr/share/batik-1.6/lib/batik-slideshow.jar:/usr/share/batik-1.6/lib/which.jar:/usr/share/batik-1.6/lib/batik-svgpp.jar:/usr/share/batik-1.6/lib/batik-xml.jar:/usr/share/batik-1.6/lib/batik-rasterizer.jar:/usr/share/batik-1.6/lib/batik-svg-dom.jar:/usr/share/batik-1.6/lib/batik-gvt.jar:/usr/share/batik-1.6/lib/batik-all.jar:/usr/share/batik-1.6/lib/batik-bridge.jar:/usr/share/batik-1.6/lib/batik-svggen.jar:/usr/share/batik-1.6/lib/batik-extension.jar:/usr/share/batik-1.6/lib/batik-script.jar:/usr/share/batik-1.6/lib/batik-swing.jar:/usr/share/xml-commons/lib/resolver.jar:/usr/share/xml-commons/lib/xml-apis.jar:/usr/share/xml-commons/lib/which.jar:/usr/share/rhino-1.5/lib/js.jar org.apache.batik.apps.svgbrowser.Main batik-1.5.1-r4 works fine for me, and I've noticed that the wrapper script for that includes xerces-2 in the classpath. So I tried adding that to batik1.6, but no luck. After changing it to read: ${JAVA_HOME}/bin/java -classpath $(java-config -p batik-1.6,xerces-2,xml-commons,rhino-1.5) org.apache.batik.apps.svgbrowser.Main $* I now get: java.lang.NullPointerException at java.io.Reader.<init>(Reader.java:61) at java.io.InputStreamReader.<init>(InputStreamReader.java:80) at java.util.Properties.load(Properties.java:266) at org.apache.batik.dom.svg.SAXSVGDocumentFactory.resolveEntity(Unknown Source) at org.apache.xerces.util.EntityResolverWrapper.resolveEntity(Unknown Source) at org.apache.xerces.impl.XMLEntityManager.resolveEntity(Unknown Source) at org.apache.xerces.impl.XMLDocumentScannerImpl$DTDDispatcher.dispatch(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) at org.apache.batik.dom.util.SAXDocumentFactory.createDocument(Unknown Source) at org.apache.batik.dom.util.SAXDocumentFactory.createDocument(Unknown Source) at org.apache.batik.dom.svg.SAXSVGDocumentFactory.createDocument(Unknown Source) at org.apache.batik.dom.svg.SAXSVGDocumentFactory.createSVGDocument(Unknown Source) at org.apache.batik.bridge.DocumentLoader.loadDocument(Unknown Source) at org.apache.batik.swing.svg.SVGDocumentLoader.run(Unknown Source) My setup: $ java-config -v java version "1.4.2_10" Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_10-b03) Java HotSpot(TM) Client VM (build 1.4.2_10-b03, mixed mode) Other dependencies: xerces-2.6.2-r2 xmlcommons-1.0_beta2 rhino-1.6.1-r1 ant-core-1.6.2-r5
I reported a similar problem running the Squiggle browser directly in bug #122328. Interestingly, if I use the ant build target to run the browser: $ ant squiggle then things work fine.
(In reply to comment #0) I am getting the same error trying to use the 1.6 rasterizer. java -classpath `java-config -p 'batik-1.6,xml-commons,rhino-1.5,xerces-2'` -jar /usr/share/batik-1.6/lib/batik-rasterizer.jar boundunimodaldecision.svg About to transcode 1 SVG file(s) Converting boundunimodaldecision.svg to boundunimodaldecision.png ... java.io.IOException: SAX2 driver class org.apache.xerces.parsers.SAXParser not found at org.apache.batik.dom.util.SAXDocumentFactory.createDocument(SAXDocumentFactory.java:395) at org.apache.batik.dom.util.SAXDocumentFactory.createDocument(SAXDocumentFactory.java:321) at org.apache.batik.dom.svg.SAXSVGDocumentFactory.createDocument(SAXSVGDocumentFactory.java:198) at org.apache.batik.dom.svg.SAXSVGDocumentFactory.createDocument(SAXSVGDocumentFactory.java:271) at org.apache.batik.transcoder.XMLAbstractTranscoder.transcode(XMLAbstractTranscoder.java:128) at org.apache.batik.transcoder.SVGAbstractTranscoder.transcode(SVGAbstractTranscoder.java:155) at org.apache.batik.apps.rasterizer.SVGConverter.transcode(SVGConverter.java:968) at org.apache.batik.apps.rasterizer.SVGConverter.execute(SVGConverter.java:694) at org.apache.batik.apps.rasterizer.Main.execute(Main.java:886) at org.apache.batik.apps.rasterizer.Main.main(Main.java:939) org.apache.batik.transcoder.TranscoderException: null Enclosed Exception: SAX2 driver class org.apache.xerces.parsers.SAXParser not found at org.apache.batik.transcoder.XMLAbstractTranscoder.transcode(XMLAbstractTranscoder.java:136) at org.apache.batik.transcoder.SVGAbstractTranscoder.transcode(SVGAbstractTranscoder.java:155) at org.apache.batik.apps.rasterizer.SVGConverter.transcode(SVGConverter.java:968) at org.apache.batik.apps.rasterizer.SVGConverter.execute(SVGConverter.java:694) at org.apache.batik.apps.rasterizer.Main.execute(Main.java:886) at org.apache.batik.apps.rasterizer.Main.main(Main.java:939) ... error (SVGConverter.error.while.rasterizing.file) # emerge info Portage 2.0.54 (default-linux/amd64/2005.1, gcc-3.4.4, glibc-2.3.5-r2, 2.6.15-gentoo-r5 x86_64) ================================================================= System uname: 2.6.15-gentoo-r5 x86_64 AMD Athlon(tm) 64 Processor 3500+ Gentoo Base System version 1.6.14 dev-lang/python: 2.3.5-r2, 2.4.2 sys-apps/sandbox: 1.2.12 sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1 sys-devel/binutils: 2.16.1 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="amd64" AUTOCLEAN="yes" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=k8 -pipe -O2" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /var/qmail/alias /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=k8 -pipe -O2" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks sandbox sfperms strict" GENTOO_MIRRORS="ftp://ftp.gtlib.cc.gatech.edu/pub/gentoo http://gentoo.chem.wisc.edu/gentoo/" LANG="en_US.UTF-8" LC_ALL="en_US.UTF-8" LINGUAS="en" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.us.gentoo.org/gentoo-portage" USE="amd64 X alsa apache2 audiofile avi berkdb bitmap-fonts bzip2 crypt cups curl eds emacs emboss encode expat fam foomaticdb fortran gd gdbm gif glut gmp gnome gpm gstreamer gtk gtk2 idn imagemagick imlib ipv6 jai java jikes jimi jpeg junit kde lzw lzw-tiff mathml mp3 mpeg ncurses nls opengl pam pdflib perl png python qt quicktime readline recode samba sdl spell ssl svg tcpd tiff truetype truetype-fonts type1-fonts udev unicode usb userlocales xml xml2 xpm xv zlib linguas_en userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LDFLAGS
(In reply to comment #0) > java.lang.NullPointerException > at java.io.Reader.<init>(Reader.java:61) > at java.io.InputStreamReader.<init>(InputStreamReader.java:80) > at java.util.Properties.load(Properties.java:266) Freaking thing. It won't happen if you run batik FROM his /usr/share/batik-1.6/ directory. Apparently it's looking for properties in XMLResourceDescriptor.properties in one of the jars inside lib/, but no idea why you must stand next to the lib/ dir for it to work.
Fixed in batik-1.6-r1. The original issue by adding xerces-2 into launcher's classpath, the java.lang.NullPointerException by making the launcher cd into batik's directory before executing java.