[java] make external modules static #12294
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Motivation and Context
In the past without the java module system you could exclude jars from the dependencies in your pom.xml.
This helped to reduce the overhead of dependencies which where not used by your code.
e.g. if you do not use the new JDK HttpClient you could exclude the netty async client.
With the module system enabled this was not possible, the netty async client was a required module.
When compiling the code a
module not found
error is raised.Description
This change will use the static modifier on external² modules, making them optional at runtime. The user can now remove them and might risk to get an exception at runtime.
² not selenium and not java modules
Types of changes
Checklist