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

问题描述

我的应用程序在Wicket 7.6.0上运行良好。但是现在从Wicket 7.6迁移到8.5后,我将面临以下异常。

原因:java.lang.NoClassDefFoundError:org / apache / wicket / util / convert / converter / ZeroPaddingIntegerConverter 在org.apache.wicket.extensions.yui.calendar.DateTimeField。(DateTimeField.java:119)

原因:java.lang.classNotFoundException: org.apache.wicket.util.convert.converter.ZeroPaddingIntegerConverter 在org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1358) 在org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1180) ...还有77

在我的代码中,没有任何地方使用此类“ ZeroPaddingIntegerConverter ”,但对于此类仍会出现此错误

: 在Wicket 8.x版本中已不推荐使用 ZeroPaddingIntegerConverter类。

解决方法

wicket-datetime模块已随Wicket 8一起删除,并移至WicketStuff。在您的代码中,您可能会将旧的wicket-datetime模块(7.6.0)与Wicket 8.5混合在一起。只需删除旧模块,并用WicketStuff依赖项替换它即可:

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