javaspringwicketwicket-8

java.lang.NoClassDefFoundError: org/apache/wicket/util/convert/converter/ZeroPaddingIntegerConverter


My application was running fine with Wicket 7.6.0. But now I am facing below exception after migration from Wicket 7.6 to 8.5.

Caused by: java.lang.NoClassDefFoundError: org/apache/wicket/util/convert/converter/ZeroPaddingIntegerConverter at org.apache.wicket.extensions.yui.calendar.DateTimeField.(DateTimeField.java:119)

Caused by: java.lang.ClassNotFoundException: org.apache.wicket.util.convert.converter.ZeroPaddingIntegerConverter at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1358) at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1180) ... 77 more

In my code nowhere used this class "ZeroPaddingIntegerConverter" but still getting this error for this class.

: ZeroPaddingIntegerConverter class has been deprecated in Wicket 8.x version.


Solution

  • wicket-datetime module has been removed with Wicket 8 and moved to WicketStuff. In your code you are probably mixing the old wicket-datetime module (7.6.0) with Wicket 8.5. Just remove the old module and replace it with WicketStuff dependency:

    <dependency>
      <groupId>org.wicketstuff</groupId>
      <artifactId>wicket-datetime</artifactId>
      <version>8.5.0</version>
    </dependency>