为什么要设计拼图 JPMS?

为什么要设计拼图 JPMS?,第1张

为什么要设计拼图/ JPMS?

Jigsaw和OSGi试图解决相同的问题:如何在保护内部组件的同时允许粗粒度模块进行交互。

在Jigsaw的情况下,较粗粒度的模块包括Java类,程序包及其依赖项。

这是一个示例:Spring和Hibernate。两者都依赖于第三方JAR
CGLIB,但是它们使用该JAR的不同,不兼容的版本。如果您依赖标准JDK怎么办?包括Spring想要破解Hibernate的版本,反之亦然。

但是,如果您拥有像Jigsaw这样的更高级别的模型,则可以在不同的模块中轻松管理不同版本的JAR。将它们视为更高级别的软件包。

如果您从GitHub源码构建Spring,您也会看到它。他们已经重做了框架,因此它由几个模块组成:核心模块,持久性模块等。您可以选择应用程序所需的最小模块依赖项集,而忽略其余部分。它曾经是单个Spring
JAR,其中包含所有.class文件。

更新:五年后-拼图可能仍然需要解决一些问题。



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5500595.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-12
下一篇2022-12-12

发表评论

登录后才能评论

评论列表(0条)

    保存