gpt4 book ai didi

java - 为什么项目 Jigsaw/JPMS?

转载 作者:IT老高 更新时间:2023-10-28 11:45:16 28 4
gpt4 key购买 nike

Java 的包管理系统对我来说总是简单而有效。它被 JDK 本身大量使用。我们一直在用它来模仿命名空间和模块的概念。

Project Jigsaw(又名 Java Platform Module System)试图填写什么?

来自官方网站:

The goal of this Project is to design and implement a standard module system for the Java SE Platform, and to apply that system to the Platform itself and to the JDK.

最佳答案

Jigsaw 和 OSGi 正在尝试解决相同的问题:如何允许粗粒度的模块进行交互,同时屏蔽它们的内部结构。

在 Jigsaw 的例子中,粗粒度的模块包括 Java 类、包及其依赖项。

这是一个示例:Spring 和 Hibernate。两者都依赖于第 3 方 JAR CGLIB,但它们使用不同的、不兼容的 JAR 版本。如果你依赖标准的JDK,你能做什么?包括 Spring 想要打破 Hibernate 的版本,反之亦然。

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

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

更新:五年后 -​​ Jigsaw 可能还有一些 issues解决。

关于java - 为什么项目 Jigsaw/JPMS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11844829/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com