<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">
<br class="">
<div><br class="">
<blockquote type="cite" class="">
<div class="">On 22 Apr 2023, at 19:55, Gregg Wonderly <<a href="mailto:greggwon@cox.net" class="">greggwon@cox.net</a>> wrote:</div>
<br class="Apple-interchange-newline">
<div class=""><span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">The
dependency injection, like this, performed loosely, at runtime, is a problem only when the structure of association is loose. Modularity has injected this detail by suggesting that the “huge jar file” solution is a problem.
</span></div>
</blockquote>
<div><br class="">
</div>
<div>I don’t think it has. A multi-module JAR would be precisely addressed at allowing huge JARs on the one hand, while on the other allowing the application to construct a minimal image that contains only the relevant portions of the JAR with all that benefits
to optimisation, maintainability, and security modules brings (see <a href="https://openjdk.org/jeps/8305968" class="">https://openjdk.org/jeps/8305968</a>).</div>
<br class="">
<blockquote type="cite" class="">
<div class=""><span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">Jars
inside of Jars and other mechanisms have become forbidden due to licensing issues and other blind attempts at control of “use” as something that provides value to the owner.</span></div>
</blockquote>
<div><br class="">
</div>
<div>I don’t see what has changed recently in regard to licensing. The impact of a library’s license does not change if it’s used on the classpath or the module path.</div>
<br class="">
<blockquote type="cite" class="">
<div class=""><span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">Instead
of providing sanity, we’ve opened to door to hugely complex paths of reference and association that are nearly impossible to understand and manage for large software systems.</span><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class="">
</div>
</blockquote>
<div><br class="">
</div>
<div>Quite the opposite. Modularity doesn’t change any "paths of reference and association”; it merely requires them to be explicit. </div>
</div>
<br class="">
<div class="">— Ron</div>
</body>
</html>