Unterstützt das Java 9-Modulsystem optionale Abhängigkeiten?

Hintergrun

n maven kann ein Artefakt eine Abhängigkeit mit @ deklarier

<optional>true</optional>

was bedeutet, dass die Abhängigkeit nicht erforderlich ist, aber verwendet werden kann, wenn vorhanden.

Zustand des Modulsystems scheint anzugeben, dass ein Modul nur die Module lesen kann, die es benötigt.

Frage

Unterstützt das Java 9-Modulsystem in der Tat keine optionalen Abhängigkeiten?Warum nichtWelche Alternativen zu optionalen Abhängigkeiten bietet das Java 9-Modulsystem?

Anwendungsfal

Ich habe ein Framework, das verschiedene Bibliotheken integriert, die möglicherweise von einer Anwendung verwendet werden oder nicht. Derzeit ist dieses Framework eine einzelne JAR-Datei, die den Klassenpfad zum Überspringen des Integrationscodes für fehlende Bibliotheken widerspiegelt.

Ich denke, wir könnten dies für jede Konfiguration in ein separates Modul aufteilen, aber dies würde zu einer kombinatorischen Explosion der Anzahl von JARs führen, da wir nicht nur für jede optionale Abhängigkeit ein separates JAR benötigen, sondern für die meisten auch ein separates JAR paarweise optionale Abhängigkeiten ...

Antworten auf die Frage(2)

Ihre Antwort auf die Frage