A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/nipafx/demo-jpms-monitor/tree/break-missing-transitive-dependency below:

GitHub - nipafx/demo-jpms-monitor at break-missing-transitive-dependency

↗️ This README only covers one section of the demo. The master branch contains more information.

Missing Transitive Dependency

During compilation transitive dependencies are allowed to be missing unless they are exposed with the transitive keyword. Three modules are involved (only the dependencies are shown):

module monitor.rest {
	requires monitor.statistics;
}

module monitor.statistics {
	requires transitive monitor.observer.alpha;
}

module monitor.observer.alpha { }

The modules are compiled in the order alpha, statistics, rest and just before rest gets compiled, alpha is removed from the mods folder (only in compile.sh). Because rest depends on statistics, which exposes alpha, the compiler gives an error:

error: module not found: monitor.observer.alpha
1 error

Interestingly enough, though, if the transitive keyword is removed, compilations works just fine because all the modules rest can read are observable.


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4