Java 将OSGI项目打包为单个jar?
我有一个很大的OSGI包,我想把它打包并作为一个jar文件发布。我试图找出将多个罐子打包成一个大罐子的最佳方法 到目前为止,我看到的最好的选择似乎是一个jar项目。然而,我们使用的框架从一个“plugins”目录中拉入jar文件,一个jar似乎希望/要求所有jar文件只存储在lib目录中。也许有一个简单的方法可以解决这个问题,我还没有充分研究体系结构,因为我仍在努力确定哪种方法是最好的 对于将多个OSGI捆绑包打包到一个jar中的其他方法和/或如何使其在一个jar中工作的任何建议,我都非常感谢Java 将OSGI项目打包为单个jar?,java,jar,osgi,package,Java,Jar,Osgi,Package,我有一个很大的OSGI包,我想把它打包并作为一个jar文件发布。我试图找出将多个罐子打包成一个大罐子的最佳方法 到目前为止,我看到的最好的选择似乎是一个jar项目。然而,我们使用的框架从一个“plugins”目录中拉入jar文件,一个jar似乎希望/要求所有jar文件只存储在lib目录中。也许有一个简单的方法可以解决这个问题,我还没有充分研究体系结构,因为我仍在努力确定哪种方法是最好的 对于将多个OSGI捆绑包打包到一个jar中的其他方法和/或如何使其在一个jar中工作的任何建议,我都非常感谢
感谢使用ApacheFelixMaven Bundle插件,我相信这个选项可能会实现您想要的功能 apachesling的maven launchpad插件从bundle列表中生成一个可运行的jar(以及可选的war文件和Karaf描述符),请参见
Sling安装程序可用于从文件系统或其他源加载其他捆绑包,请参见另一种解决方案是使用PojoSR运行捆绑包,而不是在OSGi框架中运行它们。简单地说,PojoSR实现了OSGi的服务层,而没有模块层。这样做的一个副作用是,您可以轻松地将应用程序打包为可执行的JAR文件。当您运行该JAR时,它也不需要在磁盘上创建捆绑缓存 有关PojoSR的更多信息,请访问: