spring-mvcdatatablesdandelion

Spring MVC + Dandelion Datables Exception starting filter dandelionFilter


In my Spring MVC application I have used Dandelion Datatables 0.10.1, due to some performance issues I have decided to upgrade the version to 1.0.1 following the official migration guide from:

http://dandelion.github.io/components/datatables/1.0.0/docs/from-0.10.x-to-1.x.html

I have included all the required Maven dependencies, configured the web.xml accordingly to use also the Servlet 3.0 version but when I try to run the appplication I get the following exception during the dandelionFilter loading. Any help is appreciated.

Jul 20, 2015 7:23:08 PM org.apache.catalina.core.StandardContext filterStart
SEVERE: Exception starting filter dandelionFilter
java.lang.NoSuchFieldError: STRICT_DUPLICATE_DETECTION
    at com.github.dandelion.core.web.handler.debug.AbstractDebugPage.<clinit>(AbstractDebugPage.java:71)
    at com.github.dandelion.core.web.handler.debug.StandardDebugMenu.getPages(StandardDebugMenu.java:45)
    at com.github.dandelion.core.Context.initDebugMenus(Context.java:574)
    at com.github.dandelion.core.Context.init(Context.java:156)
    at com.github.dandelion.core.Context.<init>(Context.java:127)
    at com.github.dandelion.core.web.DandelionFilter.init(DandelionFilter.java:96)
    at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:281)
    at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:262)
    at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:107)
    at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4775)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5452)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)

Solution

  • The strict duplication detection feature was added in Jackson-Core 2.3. See http://fasterxml.github.io/jackson-core/javadoc/2.3.0/com/fasterxml/jackson/core/JsonParser.Feature.html#STRICT_DUPLICATE_DETECTION

    If possible, you should update this dependency to v2.3.x minimum.