Uploaded image for project: 'XalanJ2'
  1. XalanJ2
  2. XALANJ-1805

class file generated by xsltc is too large to run: java.lang.ClassFormatError

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Resolution: Duplicate
    • 2.5
    • None
    • XSLTC
    • Security Level: No security risk; visible to anyone (Ordinary problems in Xalan projects. Anybody can view the issue.)
    • None
    • Operating System: Linux
      Platform: PC
    • 27278

    Description

      There is a master stylesheet that imports other stylesheets and they in turn
      import others and so on for a total of 390 xsl files (there are a large number
      of stylesheets partially because some of the files are duplicated for multiple
      language outputs). Using XSLTC from the command line, a single class file is
      generated without error or warning. It has a size of 1.76 MB.

      SHELL SCRIPT USED TO COMPILE:
      classpath=lib/xalan.jar:lib/xercesImpl.jar:lib/xml-apis.jar
      java -Xmx250MB -classpath $classpath org.apache.xalan.xsltc.cmdline.Compile -x
      xsl/html_master.xsl

      However, it won't transform from the command line.

      SHELL SCRIPT USED TO TRANSFORM:
      classpath=lib/xalan.jar:lib/xercesImpl.jar:lib/xml-apis.jar:class
      java -classpath $classpath org.apache.xalan.xsltc.cmdline.Transform $1
      html_master

      The following error occurs:

      Exception in thread "main" java.lang.ClassFormatError: html_master (Code of a
      method longer than 65535 bytes)
      at java.lang.ClassLoader.defineClass0(Native Method)
      at java.lang.ClassLoader.defineClass(ClassLoader.java:509)
      at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
      at java.net.URLClassLoader.defineClass(URLClassLoader.java:246)
      at java.net.URLClassLoader.access$100(URLClassLoader.java:54)
      at java.net.URLClassLoader$1.run(URLClassLoader.java:193)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.net.URLClassLoader.findClass(URLClassLoader.java:186)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
      at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:265)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:262)
      at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:322)
      at java.lang.Class.forName0(Native Method)
      at java.lang.Class.forName(Class.java:207)
      at org.apache.xalan.xsltc.runtime.TransletLoader.loadTranslet
      (TransletLoader.java:120)
      at org.apache.xalan.xsltc.cmdline.Transform.loadTranslet(Transform.java:152)
      at org.apache.xalan.xsltc.cmdline.Transform.doTransform(Transform.java:158)
      at org.apache.xalan.xsltc.cmdline.Transform.main(Transform.java:370)

      I could send the xsl file bundle upon request. dan_holman@netrefresh.com

      Attachments

        Activity

          People

            Unassigned Unassigned
            dan_holman@netrefresh.com Dan Holman
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: