带有 Project Jigsaw 的 Java 8 为 SDK 带来了一个模块系统。我认为这是一件好事,因为它是软件包的一部分(内置)。OSGi 也提供了一个模块系统,但需要一个容器。但除此之外,它们之间的主要区别是什么。
如果我使用 OSGi,我能否使用标准 JDK 8 版本运行它?
当默认 SDK 包含此类功能时,OSGi 是否相关?我的理解是 OSGi 和 Jigsaw 都可以用来编写普通的模块化 Java 应用程序,而不仅仅是基于 ser 的应用程序(servlet 等),对吧?
对OSGi、Java Modularity 和 Jigsaw问题的回答说,JRE 可能需要 Jigsaw 模块系统。通过 JRE,我假设 OP 是指 Java 标准库,如 IO、CORBA、RMI,它们是用 Java 编写的,还是作为目标基础的类库实现?通过阅读 Jigsaw 项目页面,我认为是前者。如果是后者,它如何帮助其他编写 Java 代码的 Java 开发人员?类库是用 C/C++ 编写的。有人可以澄清一下吗?
这不是 OSGi vs Jigsaw。我想真正了解使用哪一个。如果我要编写一个新的应用程序(无论是桌面还是服务器),我希望基于可能不会被标准实现过时的技术并放弃软件。我并不是说 OSGi 已经过时,我喜欢 OSGi。我着眼于大局,OSGi 本身的未来方向是什么。