spring-bootedismooksedifact

Smooks failed to filter source - java.lang.NoSuchMethodError: sun.misc.Unsafe.defineClass(Ljava/lang/String;[BII)Ljava/lang/Class


I am relatively new to EDIFACT/D96A. I am trying to convert from edi using the D96AInterchangeFactory.

Here is what i have:

D96AInterchangeFactory factory = D96AInterchangeFactory.getInstance();
ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(ediContent.getBytes());
UNEdifactInterchange interchange = factory.fromUNEdifact(byteArrayInputStream);

on this I get the following error:

 org.milyn.SmooksException: Failed to filter source.
    at org.milyn.delivery.sax.SmooksSAXFilter.doFilter(SmooksSAXFilter.java:97)
    at org.milyn.delivery.sax.SmooksSAXFilter.doFilter(SmooksSAXFilter.java:64)
    at org.milyn.Smooks._filter(Smooks.java:526)
    at org.milyn.Smooks.filterSource(Smooks.java:482)
    at .
    .
    .

org.milyn.smooks.edi.unedifact.UNEdifactReader.parse(UNEdifactReader.java:75)
    at org.milyn.delivery.sax.SAXParser.parse(SAXParser.java:76)
    at org.milyn.delivery.sax.SmooksSAXFilter.doFilter(SmooksSAXFilter.java:86)
    ... 22 more
    Caused by: java.lang.NoSuchMethodError: sun.misc.Unsafe.defineClass(Ljava/lang/String;[BII)Ljava/lang/Class;
    at
    . .
    org.milyn.javabean.BeanInstanceCreator.createAndSetBean(BeanInstanceCreator.java:296)
        at org.milyn.javabean.BeanInstanceCreator.visitBefore(BeanInstanceCreator.java:241)
        at org.milyn.delivery.sax.SAXHandler.visitBefore(SAXHandler.java:307)
        ... 40 more

I read and also added a dependency in d96a for mvel2 and version 2.2.0.Final. Still the same error pops up.

Using JAVA 8 What might i be doing wrong? Thanking you in advance.


Solution

  • Bumped up the mylin dependency from 1.6 to 1.7.0 works now