春季-如何将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的功能.
标签:portlet,osgi,bundle,liferay,spring 来源: https://codeday.me/bug/20191202/2084860.html