Websphere 如何将EAR应用程序转换为一个大型OSGI包,并将其部署在Equinox容器中?

Websphere 如何将EAR应用程序转换为一个大型OSGI包,并将其部署在Equinox容器中?,websphere,osgi,osgi-bundle,Websphere,Osgi,Osgi Bundle,作为成本削减的一部分,管理层希望停止在开发人员系统中使用websphere应用程序服务器 我的任务是将EAR文件转换为一个胖OSGI包,并将其部署在equinox容器中。如果成功,此设置将在开发人员之间共享,并且仅在开发人员机器中使用,而不会在更高的环境中使用 我搜索了很多网站,但没有找到任何具体的解决方案。 如果您有任何解决问题的想法,请与我们分享。我强烈建议您关注开放自由: OpenLiberty是IBM去年在JavaOne上启动的一个开源项目。该项目的目标很简单:让优秀的JavaEE技术掌

作为成本削减的一部分,管理层希望停止在开发人员系统中使用websphere应用程序服务器

我的任务是将EAR文件转换为一个胖OSGI包,并将其部署在equinox容器中。如果成功,此设置将在开发人员之间共享,并且仅在开发人员机器中使用,而不会在更高的环境中使用

我搜索了很多网站,但没有找到任何具体的解决方案。
如果您有任何解决问题的想法,请与我们分享。

我强烈建议您关注开放自由:

OpenLiberty是IBM去年在JavaOne上启动的一个开源项目。该项目的目标很简单:让优秀的JavaEE技术掌握在开发人员手中

OpenLiberty支持JavaEE7和MicroporFile以及其他技术

除非您有充分的技术理由将EAR转换为OSGi包,否则您可以在开发环境中使用OpenLiberty。安装非常简单:

解压缩openliberty-18.0.0.1.zip

试试看。我想你会感到惊喜的


如果您有疑问,Open Liberty有一个非常活跃的社区和twitter,或者在twitter@barecode上与我联系。

EAR文件只是一个包含嵌套JAR文件的JAR文件。这些嵌套JAR构成了应用程序的类路径

转换为OSGi包应该非常简单,只需为顶级JAR编写META-INF/MANIFEST.MF,该JAR包含列出所包含JAR的头包ClassPath头,例如:

Bundle-ClassPath: a.jar, b.jar, c.jar, ...
如果EAR文件还直接包含属于应用程序类路径一部分的类,则新捆绑包的JAR文件应作为名为“.”点的条目前置到捆绑包类路径,例如:

Bundle-ClassPath: ., a.jar, b.jar, c.jar, ...

请注意,清单还需要包含必需的OSGi头、Bundle manifest:2和Bundle SymbolicName:。。。。网上有很多关于这方面的信息。

谢谢迈克尔·汤普森。我查了《自由报》。如何安装我需要的功能,如管理中心、JPA支持?liberty server中没有用于安装所需功能的installutility文件。商业版中的某些功能不在开放版管理中心中。您可以通过运行wlp/bin/productInfo-featureInfo来查看其中的内容。Eclipse开发者工具也支持使用OpenLiberty,这里有更多信息:感谢BruceT。这是有用的信息。