itplr-kosit / validator

Validates XML documents with XML Schema and Schematron
Apache License 2.0
80 stars 42 forks source link

`NoSuchMethodError` in `StrictRelativeResolvingStrategy` #68

Closed Cakmakli-a closed 3 years ago

Cakmakli-a commented 4 years ago

In der Klasse StrictRelativeResolvingStrategy passiert folgendens:

        // grundsätzlich Feature-konfiguration:
        processor.setConfigurationProperty(Feature.DTD_VALIDATION, false);
        processor.setConfigurationProperty(Feature.ENTITY_RESOLVER_CLASS, "");
        processor.setConfigurationProperty(Feature.XINCLUDE, false);
        processor.setConfigurationProperty(Feature.ALLOW_EXTERNAL_FUNCTIONS, false);

Die Signatur der Methode ist folgende void setConfigurationProperty(String name, Object value). Der Methode wird aber Feature<Boolean>, boolean übergeben, was zu einem Problem führt. Saxon-HE 9.9.1-7 setze ich auch ein.

Hier die Exception:

java.lang.NoSuchMethodError: net.sf.saxon.s9api.Processor.setConfigurationProperty(Lnet/sf/saxon/lib/Feature;Ljava/lang/Object;)V

    at de.kosit.validationtool.impl.xml.StrictRelativeResolvingStrategy.createProcessor(StrictRelativeResolvingStrategy.java:106)
    at de.kosit.validationtool.impl.xml.BaseResolvingStrategy.getProcessor(BaseResolvingStrategy.java:52)
    at de.kosit.validationtool.config.ConfigurationLoader.build(ConfigurationLoader.java:136)
apenski commented 4 years ago

Bitte den classpath kontrollieren, da scheint eine ältere Saxon-Version mit inkludiert zu sein. Die String-Variante wurde inzwischen als deprecated markiert:

grafik

apenski commented 3 years ago

kann ich davon ausgehen, das der Fehler nach Korrekt des Classpath nicht mehr auftritt, somit kein Anpassungsbedarf beim Validator liegt?

Cakmakli-a commented 3 years ago

Eine ältere Saxon-Version hat sich eingeschlichen. Diese exkludiert und es lief. Danke!