VFS-859: Fix undeclared direct dependencies
Undeclared direct dependencies that are also transitive dependencies of an optional direct dependency, end up being declared by Moditect using requires <module> instead of requires static <module>.
This causes JPMS runtime errors, unless the optional dependency is present on the module path.
To solve this and rationalize the dependency tree, this change:
- Adds two verification rules that check for undeclared dependencies and useless exclusions.
- Adds undeclared dependencies to the POM files.
- Remove unused declared dependencies.
Related to https://github.com/moditect/moditect/issues/259
Hi @ppkarwasz
Thank you for your help :-)
Some Java 8 and 11 builds fail with java.lang.ClassNotFoundException: javax.jcr.Binary
Some Java 8 and 11 builds fail with
java.lang.ClassNotFoundException: javax.jcr.Binary
I am fighting with jackrabbit-standalone, which is a shaded artifact with some strange versions of commons-logging and slf4j-api.
Should we still keep the provider for JackRabbit 1.x? The last release is almost 10 years old.
Some Java 8 and 11 builds fail with
java.lang.ClassNotFoundException: javax.jcr.BinaryI am fighting with
jackrabbit-standalone, which is a shaded artifact with some strange versions ofcommons-loggingandslf4j-api.Should we still keep the provider for JackRabbit 1.x? The last release is almost 10 years old.
We can drop it for 3.0 IMO but I think we should do our best to keep it in 2.x since it just works.
Maybe there are non-uber jar JR artifacts we can depend on instead?
Maybe there are non-uber jar JR artifacts we can depend on instead?
I'll try with jackrabbit-webapp