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