春季-如何将Liferay Portlet转换为OSGI包?

我的服务器出现问题,因此我构建了Portlet,并在liferay Portlet容器上对其进行了本地测试.我使用了Java和JSR 286标准的portlet 2.0 API.这些Portlet是使用Spring框架构建的,并且可以在我的本地计算机上工作.

我的问题是如何将我拥有的基于Spring的Portlet的包转换为OSGI包?我需要在当前的Portlet中进行哪些调整以适应OSGI软件包的需要?

我正在使用eclipse开发portlet,并用ant将其打包到war文件中,但不知道如何使用ant将其打包到osgi捆绑罐中.

谢谢!

解决方法:

您需要分解应用程序,并决定如何使用OSGi模块层.例如,捆绑包中的一个导出API(JRS-API),另一个导入它们.

如果您走这条路,最初会遇到诸如ClassNotFounds和ClassCastsException之类的麻烦.但是一旦您超过了那个时期,您就可以使用一些很酷的功能,例如OSGi服务/多个版本/等等.

Eclipse为OSGi捆绑软件开发提供了强大的工具支持.恕我直言,您不必运行蚂蚁任务.如果您使用的是maven,则可以使用felix-bundle插件创建捆绑包.

另一种选择是创建一个包含所有依赖项的庞大捆绑包-内联.它可以工作,但是您又没有使用OSGi的功能.

上一篇:Javascript-Webpack-将节点模块放入捆绑包并加载到html文件中


下一篇:R语言小白学习笔记11—字符串操作