Hi Jon, According to https://www.oracle.com/corporate/features/understanding-java-9-modules.html
*provides…with.* A provides…with module directive specifies that a module provides a service implementation—making the module a *service provider*. The provides part of the directive specifies an interface or abstract class listed in a module’s uses directive and the with part of the directive specifies the name of the service provider class that implements the interface or extends the abstract class. AFAIU it we need to add "uses org.apache.wicket.IInitializer" next to all "provides org.apache.wicket.IInitializer with x.y.z.SomeImplementation;" Please try it and if it fixes the issue then send a PR! On Thu, Feb 17, 2022 at 8:16 PM Locke, Jonathan (Luo Shibo) < jonath...@telenav.com> wrote: > > Does anyone know what this is? Thanks -- Jon > > Exception in thread "main" java.util.ServiceConfigurationError: > org.apache.wicket.IInitializer: module org.apache.wicket.core does not > declare `uses` > at java.base/java.util.ServiceLoader.fail(ServiceLoader.java:589) > at java.base/java.util.ServiceLoader.checkCaller(ServiceLoader.java:575) > at java.base/java.util.ServiceLoader.<init>(ServiceLoader.java:504) > at java.base/java.util.ServiceLoader.load(ServiceLoader.java:1687) > at org.apache.wicket.core@9.6.0 > /org.apache.wicket.Application.initInitializers(Application.java:556) > at org.apache.wicket.core@9.6.0 > /org.apache.wicket.Application.initApplication(Application.java:765) > at org.apache.wicket.core@9.6.0 > /org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:441) > at org.apache.wicket.core@9.6.0 > /org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:365) > >