Page 1 of 1

Crypto class missing in TEI ODD transformation

Posted: Thu Aug 09, 2018 4:44 pm
by whyme
I'm trying to do an ANT-based transformation of an ODD file and getting this error:

Code: Select all

Description
Transformation failed. /Applications/Oxygen XML Editor/frameworks/tei/xml/tei/stylesheet/common/teianttasks.xml:389: java.lang.NoClassDefFoundError: ro/sync/basic/util/Crypto
Severity
Fatal
Scenario
TAN schemas: TEI ODD to RelaxNG Compact
Build file
/Applications/Oxygen XML Editor/frameworks/tei/xml/tei/stylesheet/rnc/build-to.xml
Engine name
ANT
I'm not sure how to fix this. The ANT report is here:

Code: Select all

BUILD FAILED
/Applications/Oxygen XML Editor/frameworks/tei/xml/tei/stylesheet/rnc/build-to.xml:30: The following error occurred while executing this line:
/Applications/Oxygen XML Editor/frameworks/tei/xml/tei/stylesheet/common/teianttasks.xml:389: java.lang.NoClassDefFoundError: ro/sync/basic/util/Crypto
at ro.sync.xml.transformer.n.f(Unknown Source)
at ro.sync.xml.transformer.saxonee.SaxonEEUtilImpl.supplySaxonLicenseAndSchemaResolver(Unknown Source)
at net.sf.saxon.Configuration.newConfiguration(Unknown Source)
at net.sf.saxon.s9api.Processor.<init>(Processor.java:66)
at net.sf.saxon.jaxp.SaxonTransformerFactory.<init>(Unknown Source)
at net.sf.saxon.TransformerFactoryImpl.<init>(TransformerFactoryImpl.java:46)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at java.lang.Class.newInstance(Class.java:442)
at org.apache.tools.ant.taskdefs.optional.TraXLiaison.getFactory(TraXLiaison.java:427)
at org.apache.tools.ant.taskdefs.optional.TraXLiaison.getSource(TraXLiaison.java:257)
at org.apache.tools.ant.taskdefs.optional.TraXLiaison.readTemplates(TraXLiaison.java:309)
at org.apache.tools.ant.taskdefs.optional.TraXLiaison.createTransformer(TraXLiaison.java:328)
at org.apache.tools.ant.taskdefs.optional.TraXLiaison.transform(TraXLiaison.java:188)
at org.apache.tools.ant.taskdefs.XSLTProcess.process(XSLTProcess.java:881)
at org.apache.tools.ant.taskdefs.XSLTProcess.execute(XSLTProcess.java:419)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:293)
at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
at org.apache.tools.ant.Task.perform(Task.java:348)
at org.apache.tools.ant.taskdefs.Sequential.execute(Sequential.java:68)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:293)
at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
at org.apache.tools.ant.Task.perform(Task.java:348)
at org.apache.tools.ant.taskdefs.MacroInstance.execute(MacroInstance.java:402)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:293)
at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
at org.apache.tools.ant.Task.perform(Task.java:348)
at org.apache.tools.ant.Target.execute(Target.java:435)
at org.apache.tools.ant.Target.performTasks(Target.java:456)
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1405)
at org.apache.tools.ant.Project.executeTarget(Project.java:1376)
at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
at org.apache.tools.ant.Project.executeTargets(Project.java:1260)
at org.apache.tools.ant.Main.runBuild(Main.java:857)
at org.apache.tools.ant.Main.startAnt(Main.java:236)
at org.apache.tools.ant.launch.Launcher.run(Launcher.java:287)
at org.apache.tools.ant.launch.Launcher.main(Launcher.java:113)
Caused by: java.lang.ClassNotFoundException: ro.sync.basic.util.Crypto
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)

Re: Crypto class missing in TEI ODD transformation

Posted: Thu Aug 09, 2018 5:07 pm
by alex_jitianu
Hello,

There is a jar missing from the scenario's configuration. Are you using the built-in TEI ODD framework or have you installed the add-on provided by the TEI Consortium?

Anyway, here is how to add the missing jar:
1. go to Options, Preferences... , on page Document Type Associations and edit the TEI ODD framework. In case there are multiple frameworks with this name, please edit the one that is above in the list. Chances are this is the one being used...
2. go on the Transformation tab and edit the desired scenario. In this case it's the one named TEI ODD to RelaxNG Compact but all of them need this change if they are to work.
3. in the scenario edit dialog, click on the Libraries button from bottom right.
4. in the Libraries dialog add a new entry: ${oxygenHome}/lib/oxygen-basic-utilities.jar
5. Exit with OK all the way out.

One more thing to take care of... to make sure Oxygen isn't using an old, cached version of the scenario, when you return to the TEI ODD document, please use Configure Transformation Scenario(s) from the toolbar to select and run the scenario.

Best regards,
Alex

Re: Crypto class missing in TEI ODD transformation

Posted: Thu Aug 09, 2018 5:31 pm
by whyme
Thank you, Alex.

It turns out that I needed to do what you suggested, but in a different area. I document it here in case others stumble across this thread.

The problem lay in the Ant Transformation Scenario I had already set up. I needed to go into Configure Transformation Scenarios and edit the chosen Scenario. Under the Options tab there's a button in the bottom right corner, Libraries. The jar file you mentioned was not in that list, so I added it. After saving and closing the scenario I ran the transformation, and it worked fine.