Re: Error "java.lang.NoSuchMethodError" #DITA-OT #specialization #conditional-processing #branch-filtering

Radu Coravu

Hi Ed,

DITA OT 3.5.2 comes with a very new Saxon XSLT processor in its "lib" folder "Saxon-HE-9.9.1-4.jar".

You seem to be running the publishing with an older Saxon JAR library. How exactly do you start the DITA OT from the command line?

Do you use the "dita" script or have you created your own ANT build files with your own Java classpath pointing to various JAR libraries?

Radu Coravu
Oxygen XML Editor
On 7/16/20 11:20 AM, schmidt.eduard@... wrote:

Hi everyone,

we’re trying to upgrade our dita-ot from 2.5.4 to the newest version. I copied our custom plugins to the new dita-ot directory and integrated them using the dita install-command. Now, even when trying to build output using the command line, I get the following error: Error: java.lang.NoSuchMethodError: 'net.sf.saxon.s9api.Processor org.dita.dost.util.XMLUtils.getProcessor()'

I ran the build-command using --debug and --logfile, the last part of the log says


[pathconvert] Set property = startHere
     [echo] *****************************************************************
     [echo] * input = C:\Users\ESC\Desktop\test_html\startHere\startHere.ditamap
Property "args.resources" has not been set
     [echo] * resources = ${args.resources}
     [echo] *****************************************************************


Job not found from Ant project reference
 [gen-list] Using Xerces grammar pool for DTD and schema caching.
  [antcall] Exiting C:\Perforce\DocMain\2_DITA\ditaOT_3.5.2\build.xml.
Error: java.lang.NoSuchMethodError: 'net.sf.saxon.s9api.Processor org.dita.dost.util.XMLUtils.getProcessor()'

The project I used to test this is based on a sample project modified by Radu, it can be found here. I only added keyspaces and changed the title of the topic to include a keyspace-specific key.
Some of the things I tried so far:
- updated environment variables for dita
- updated openJDK (and respective environment variables)
- installed the newest Saxon add-on (via Oxygen)
- searched our custom framework to find parts that would point to a different version of dita-ot, replaced them with ${configured.ditaot.dir} (this is in Oxygen)
None of the measures helped. Regardless of whether I tried to build output via the command line or from Oxygen, I always get an error. I’m completely out of my depth with this problem, any help will be greatly appreciated.

Many thanks,

Join to automatically receive all group messages.