I would have guessed this would be a FAQ, but I didn't see it asked or
answered in the archive.
I'm trying to use XSLTC 2.5.2 with DocBook 4.2 and am encountering the
following exception when running the translet.
java.lang.ClassFormatError: chunk (Code of a method longer than 65535 bytes)
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:537)
at
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:251)
at java.net.URLClassLoader.access$100(URLClassLoader.java:55)
at java.net.URLClassLoader$1.run(URLClassLoader.java:194)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)
at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
at
org.apache.xml.utils.ObjectFactory.findProviderClass(ObjectFactory.java:387)
at
org.apache.xalan.xsltc.cmdline.Transform.doTransform(Transform.java:135)
at org.apache.xalan.xsltc.cmdline.Transform.main(Transform.java:323)
Here is my Ant build file.
<project name="">
<path id="xsltc.classpath">
<fileset dir="C:/cygwin/home/Administrator/xalan-j_2_5_2/bin"/>
<pathelement
location="C:/cygwin/usr/share/docbook-xsl/extensions/xalan2.jar"/>
<pathelement location="translet"/>
</path>
<target name="build-xsltc">
<java classname="org.apache.xalan.xsltc.cmdline.Compile"
classpathref="xsltc.classpath" fork="yes">
<jvmarg
line="-Djava.endorsed.dirs=C:/cygwin/home/Administrator/xalan-j_2_5_2/bin"/>
<arg line="-d translet
C:/cygwin/usr/share/docbook-xsl/xhtml/chunk.xsl"/>
</java>
</target>
<target name="run-xsltc">
<java classname="org.apache.xalan.xsltc.cmdline.Transform"
classpathref="xsltc.classpath" fork="yes">
<jvmarg
line="-Djava.endorsed.dirs=C:/cygwin/home/Administrator/xalan-j_2_5_2/bin"/>
<arg line="book.xml chunk"/>
</java>
</target>
</project>