【发布时间】:2021-03-28 23:07:12
【问题描述】:
我试图了解 Java 模块化项目的这两个原则/特性之间的差异或关联。
我正在尝试通过减少外部库/模块的使用来最小化 JRE 大小。
为了做到这一点,我做了一些快速研究,发现这两个“原则”可能对我有帮助。
现在,我不明白这两件事是否不同,或者它们是否以某种方式相互关联。我应该如何使用这些来达到我的目标? 您能否指定对我来说最好的解决方案?我必须在 module-info.java 中手动指定我需要什么吗?
是否有可能生成 module-info.java 文件? (我猜不是,但我只是在问)。我可以将它与 JDK Amazon Correto 11 一起使用吗?
【问题讨论】:
-
你说的是哪“两个原则”?
-
@Holger 我说的是jigsaw vs jlink。我看到 jlink 可能适合我正在尝试做的事情。实际上,我需要一个更小的 JRE 来满足我的应用程序。 Jlink 是解决方案,但我想知道如何生成那些包含要导入和导出的包的 module-info.java 文件。
-
“jigsaw”和“jlink”都不是原则。而且由于 jlink 是 jigsaw 的一部分,我仍然不明白“jigsaw vs jlink”或“这两个原则之间的差异……”应该是什么意思。您可以使用
jdeps来分析依赖关系,它甚至还有--generate-module-info选项,但不要要求我们提供完整的教程。 -
无意冒犯。我们有时会对自己不清楚的问题感到困惑,并认为我们可能错过了一些东西。所以我们问。 Jigsaw 是old project name,Java 模块系统就是在这个old project name 下开发的。你不需要知道或使用它。但是如果你遇到它,你可以把它当作Java模块系统的同义词。
-
不要试图理解每一票。这不会导致任何地方。
标签: java java-11 java-module java-platform-module-system jlink