DITA OpenToolkit 1.8: building demo fails in mapref task (ClassGenException)

StackOverflow https://stackoverflow.com/questions/18700054

  •  28-06-2022
  •  | 
  •  

Domanda

I downloaded DITA OpenToolkit 1.8 and try to build the demos.

ant -f build_demo.xml

It runs all the way through to the mapref task, which throws the error as below. Now, the error states what's wrong, obviously a wrong ICONST value. But I would be very surprised if the nobody had actually tested the samples before, since the error occurs regardless of which output format you choose, so it's quite obvious.

Therefore I am thinking, maybe any configuration or parameter missing when running the build?

mapref:
   [mapref] Transforming into C:\Dev\DITA-OT1.8\temp
   [mapref] Processing C:\Dev\DITA-OT1.8\temp\hierarchy.ditamap to C:\Dev\DITA-OT1.8\temp\hierarchy.ditamap.ref
   [mapref] Loading stylesheet C:\Dev\DITA-OT1.8\xsl\preprocess\mapref.xsl
   [mapref] com.sun.org.apache.bcel.internal.generic.ClassGenException: ICONST can be used only for value between -1 and 5: 7
   [mapref]     at com.sun.org.apache.bcel.internal.generic.ICONST.<init>(ICONST.java:81)
   [mapref]     at com.sun.org.apache.xalan.internal.xsltc.compiler.Step.translatePredicates(Step.java:419)
   [mapref]     at com.sun.org.apache.xalan.internal.xsltc.compiler.Step.translateStep(Step.java:243)
   [mapref]     at com.sun.org.apache.xalan.internal.xsltc.compiler.Step.translate(Step.java:233)
   [mapref]     at com.sun.org.apache.xalan.internal.xsltc.compiler.AbsoluteLocationPath.translate(AbsoluteLocationPath.java:101)
   [mapref]     at com.sun.org.apache.xalan.internal.xsltc.compiler.ApplyTemplates.translate(ApplyTemplates.java:174)
   [mapref]     at com.sun.org.apache.xalan.internal.xsltc.compiler.SyntaxTreeNode.translateContents(SyntaxTreeNode.java:513)
   [mapref]     at com.sun.org.apache.xalan.internal.xsltc.compiler.SyntaxTreeNode.compileResultTree(SyntaxTreeNode.java:671)
   [mapref]     at com.sun.org.apache.xalan.internal.xsltc.compiler.VariableBase.translateValue(VariableBase.java:282)
   [mapref]     at com.sun.org.apache.xalan.internal.xsltc.compiler.Variable.translate(Variable.java:159)
   [mapref]     at com.sun.org.apache.xalan.internal.xsltc.compiler.SyntaxTreeNode.translateContents(SyntaxTreeNode.java:513)
   [mapref]     at com.sun.org.apache.xalan.internal.xsltc.compiler.Template.translate(Template.java:335)
   [mapref]     at com.sun.org.apache.xalan.internal.xsltc.compiler.TopLevelElement.compile(TopLevelElement.java:64)
   [mapref]     at com.sun.org.apache.xalan.internal.xsltc.compiler.Template.compile(Template.java:44)
   [mapref]     at com.sun.org.apache.xalan.internal.xsltc.compiler.Mode.compileNamedTemplate(Mode.java:549)
   [mapref]     at com.sun.org.apache.xalan.internal.xsltc.compiler.Mode.compileTemplates(Mode.java:566)
   [mapref]     at com.sun.org.apache.xalan.internal.xsltc.compiler.Mode.compileApplyTemplates(Mode.java:818)
   [mapref]     at com.sun.org.apache.xalan.internal.xsltc.compiler.Stylesheet.compileModes(Stylesheet.java:615)
   [mapref]     at com.sun.org.apache.xalan.internal.xsltc.compiler.Stylesheet.translate(Stylesheet.java:730)
   [mapref]     at com.sun.org.apache.xalan.internal.xsltc.compiler.XSLTC.compile(XSLTC.java:354)
   [mapref]     at com.sun.org.apache.xalan.internal.xsltc.compiler.XSLTC.compile(XSLTC.java:429)
   [mapref]     at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:795)
   [mapref]     at org.apache.tools.ant.taskdefs.optional.TraXLiaison.readTemplates(TraXLiaison.java:300)
   [mapref]     at org.apache.tools.ant.taskdefs.optional.TraXLiaison.createTransformer(TraXLiaison.java:317)
   [mapref]     at org.apache.tools.ant.taskdefs.optional.TraXLiaison.transform(TraXLiaison.java:178)
   [mapref]     at org.apache.tools.ant.taskdefs.XSLTProcess.process(XSLTProcess.java:816)
   [mapref]     at org.apache.tools.ant.taskdefs.XSLTProcess.execute(XSLTProcess.java:406)
   [mapref]     at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
   [mapref]     at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
   [mapref]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   [mapref]     at java.lang.reflect.Method.invoke(Method.java:597)
   [mapref]     at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
   [mapref]     at org.apache.tools.ant.Task.perform(Task.java:348)
   [mapref]     at org.apache.tools.ant.Target.execute(Target.java:435)
   [mapref]     at org.apache.tools.ant.Target.performTasks(Target.java:456)
   [mapref]     at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1393)
   [mapref]     at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)
   [mapref]     at org.apache.tools.ant.Project.executeTargets(Project.java:1248)
   [mapref]     at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:440)
   [mapref]     at org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:105)
   [mapref]     at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
   [mapref]     at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
   [mapref]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   [mapref]     at java.lang.reflect.Method.invoke(Method.java:597)
   [mapref]     at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
   [mapref]     at org.apache.tools.ant.Task.perform(Task.java:348)
   [mapref]     at org.apache.tools.ant.Target.execute(Target.java:435)
   [mapref]     at org.apache.tools.ant.Target.performTasks(Target.java:456)
   [mapref]     at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1393)
   [mapref]     at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)
   [mapref]     at org.apache.tools.ant.Project.executeTargets(Project.java:1248)
   [mapref]     at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:440)
   [mapref]     at org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:105)
   [mapref]     at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
   [mapref]     at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
   [mapref]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   [mapref]     at java.lang.reflect.Method.invoke(Method.java:597)
   [mapref]     at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
   [mapref]     at org.apache.tools.ant.Task.perform(Task.java:348)
   [mapref]     at org.apache.tools.ant.Target.execute(Target.java:435)
   [mapref]     at org.apache.tools.ant.Target.performTasks(Target.java:456)
   [mapref]     at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1393)
   [mapref]     at org.apache.tools.ant.Project.executeTarget(Project.java:1364)
   [mapref]     at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
   [mapref]     at org.apache.tools.ant.Project.executeTargets(Project.java:1248)
   [mapref]     at org.apache.tools.ant.Main.runBuild(Main.java:851)
   [mapref]     at org.apache.tools.ant.Main.startAnt(Main.java:235)
   [mapref]     at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)
   [mapref]     at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)
   [mapref] : Error! ICONST can be used only for value between -1 and 5: 7
   [mapref] : Fatal Error! Die Formatvorlage konnte nicht kompiliert werden.
   [mapref] Failed to process null
È stato utile?

Soluzione

I can't reproduce this issue on Windows, at least.

Have you double-checked your CLASSPATH or tried using Saxon instead of Xalan? I actually thought DITA-OT dropped support for Xalan when all XSLT stylesheets were converted to XSLT 2.0.

EDIT: Ah, my bad. The XSLT 2.0 commits are not included in the 1.8 release.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top