5 ms·
I haven't worked with the module system myself so this is why I didn't include it, but what is the problem you faced before the module systems?
by Igor_Wiwi 2y ago
I haven't worked with the module system myself so this is why I didn't include it, but what is the problem you faced before the module systems?
- zmmmmm 2y agoThe main thing is it causes backwards compatibility problems. For example where previously you could override a class by simply putting a different library ahead of the normal element in the classpath that resolves it, with modules, Java will respect the declared module dependencies. As another example, reflection is prevented from resolving things from other modules that are not exported, where previously reflection could resolve everything. These things can be worked around and people will argue they are things you should not have relied on in the first place, but the reality is very many useful libraries did and very often the "fixed" version is only available with a new major version of the library. So you can quickly find that just moving to Java 9+ means upgrading your entire dependency tree.