【发布时间】:2020-05-10 01:27:27
【问题描述】:
我曾担任过一些基于 OSGI 的 AEM 开发人员,这就是我的基本(有点过时)想法的来源。在一份新工作和完全与 AEM 无关的项目中,这是我需要做的。
- 基于符合以下要求的第 3 方库构建服务库 JDK8
- 将它们部署为 tomcat 上的 spring web-app,在 JDK9 或更高版本上运行。
第 3 方库是许可软件,由于某些法律僵局而无法升级。由于 Java API 问题,在 JDK9 上直接部署失败。
理论是将整个 JDK8 运行时包含为捆绑依赖项,并将其作为 OSGI 捆绑包部署在兼容 JDK9+ 的 OSGI 上 运行时框架。
这可能有效吗?理论上这是成立的,因为每个 OSGI 包都使用自己的类加载器,因此第 3 方库不应该因为 Java API 问题而中断。此外,计划是使用 maven 创建一个胖(超级)罐子。
另一个困扰我的问题是:创建一个包含 JDK 的 uber-jar 甚至是一件事吗?我以前创建过 uber-jar,但不确定如何包含 JDK。其中的某些部分似乎不正确。有什么建议吗?
谢谢大家!
【问题讨论】:
标签: osgi osgi-bundle uberjar fatjar