Op wo 30 aug 2023 om 17:20 schreef Maxim Solodovnik <solomax...@gmail.com>:

> Hello Emond,
>
> On Fri, 25 Aug 2023 at 14:38, Emond Papegaaij <emond.papega...@gmail.com>
> wrote:
> >
> > Op vr 25 aug 2023 om 07:02 schreef Maxim Solodovnik <
> solomax...@gmail.com>:
> >
> > > So if (for whatever reason) we do have
> > > wicket-core 9.8.0+ AND wicket-util 9.7.0-
> > >
> > > In class path WebApplication will fail to start with
> > > java.lang.NoSuchMethodError
> > >
> >
> > This is perfectly fine. Semver only is about Wicket as a whole, so you
> > should not be mixing different versions of parts of Wicket.
> >
> here is it's <partial> dependency tree:
>
> [INFO] +-
> de.agilecoders.wicket:wicket-bootstrap-extensions:jar:4.0.4:compile
> [INFO] |  +- de.agilecoders.wicket:jquery-selectors:jar:3.0.3:compile
> [INFO] |  |  +- com.fasterxml.jackson.core:jackson-core:jar:2.11.4:compile
> [INFO] |  |  \-
> com.fasterxml.jackson.core:jackson-databind:jar:2.15.1:compile
> [INFO] |  |     \-
> com.fasterxml.jackson.core:jackson-annotations:jar:2.15.1:compile
> [INFO] |  +- org.apache.wicket:wicket-extensions:jar:9.14.0:compile
> [INFO] |  +- org.apache.wicket:wicket-util:jar:9.3.0:compile
> [INFO] |  |  +- commons-fileupload:commons-fileupload:jar:1.4:compile
> [INFO] |  |  +- commons-io:commons-io:jar:2.12.0:compile
> [INFO] |  |  \- org.apache.commons:commons-collections4:jar:4.4:compile
>
> [INFO] \- org.apache.wicket:wicket-core:jar:9.14.0:compile
> [INFO]    +- com.github.openjson:openjson:jar:1.0.12:compile
> [INFO]    +- org.apache.wicket:wicket-request:jar:9.14.0:compile
> [INFO]    \- org.danekja:jdk-serializable-functional:jar:1.9.0:compile
>
> As you can see it directly depends on
> `org.apache.wicket:wicket-core:jar:9.14.0:compile`
> BUT it has no direct dependency on wicket-util :(
>
> The other (very much old) library
> wicket-bootstrap-extensions:jar:4.0.4 has it's dependency
>
> So we have conflict :(
>
> Maybe it worth to add some redundancy to our dependency:tree and add
> `wicket-util` as direct dependency of `wicket-core`?
>

wicket-core already has a dependency on wicket-util. As far as I know,
Maven does not give any guarantees on which version it resolves in
situations like this. This is why you should always use something like the
maven-enforcer to enforce dependency convergence. Actually, at Topicus, we
use even more strict rules: all dependencies, direct or indirect, should
have a managed version.

We could publish a wicket-bom with all wicket modules to make it easier to
manage all wicket modules at once.

Best regards,
Emond

Reply via email to