Smooks无法过滤源 - java.lang.NoSuchMethodError:sun.misc.Unsafe.defineClass(Ljava / lang / String; [BII] Ljava / lang / Class

时间:2018-01-30 12:06:30

标签: spring-boot edi smooks edifact

我对EDIFACT / D96A比较陌生。我正在尝试使用D96AInterchangeFactory从edi转换。

这就是我所拥有的:

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

对此我收到以下错误:

 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

我阅读并在d96a中为mvel2和版本2.2.0.Final添加了依赖项。弹出相同的错误。

使用JAVA 8 我可能做错了什么? 提前感谢你。

2 个答案:

答案 0 :(得分:1)

我使用mvel2 2.3.1.Final修复了同样的错误。

答案 1 :(得分:0)

将mylin依赖性从1.6升至1.7.0 现在有效了