我有一个很大的OSGI包,我想将其打包并作为单个jar文件发布。我正在尝试找出将多个jar打包到一个大jar中的最佳方法。
到目前为止,我看到的最好的选择似乎是one-jar项目。然而,我们使用的框架从'plugins‘目录和one-jar中提取jar文件似乎希望/要求所有的jar文件只存储在lib目录中。可能有一种简单的方法来解决这个问题,我还没有充分了解这个架构,因为我还在努力决定哪种方法是最好的。
任何关于将多个OSGI捆绑包打包到一个jar中的其他方法的建议,以及/或者我将如何让它在一个jar中工作的建议,都将不胜感激。
谢谢
发布于 2011-10-20 07:35:53
另一种解决方案是使用PojoSR运行包,而不是在OSGi框架中运行它们。简而言之,PojoSR实现了OSGi的服务层,而不是模块层。这样做的一个副作用是,您可以轻松地将应用程序打包为可执行的JAR文件。当您运行该JAR时,它也不需要在磁盘上创建包缓存。
有关PojoSR的更多信息,请访问:
发布于 2011-07-15 22:29:52
使用Apache Felix Maven Bundle插件,我相信这个选项可能会实现您正在寻找的目标。http://felix.apache.org/site/apache-felix-maven-bundle-plugin-bnd.html
发布于 2011-07-17 02:18:38
Apache Sling的maven-launchpad-plugin从一系列包中生成一个可运行的jar (以及可选的war文件和Karaf描述符),请参阅http://sling.apache.org/site/maven-launchpad-plugin.html
Sling安装程序可用于从文件系统或其他来源加载其他包,请参阅http://sling.apache.org/site/jcr-installer-jcrjcrinstall-and-osgiinstaller.html
https://stackoverflow.com/questions/6707471
复制相似问题