使用maven构建OSGi发行版的有效方法
首先,我是OSGi/Maven的初学者,我正在研究如何有效地使用这些工具(目前,我预测将使用Felix作为我的OSGi实现) 我想创建一个基于许多捆绑包的项目。当然,每次我对一个(或多个)捆绑包进行修改时,我都不想“手动”重新部署 我想做的是:使用maven构建OSGi发行版的有效方法,osgi,maven-assembly-plugin,apache-felix,osgi-bundle,felix-dependency-manager,Osgi,Maven Assembly Plugin,Apache Felix,Osgi Bundle,Felix Dependency Manager,首先,我是OSGi/Maven的初学者,我正在研究如何有效地使用这些工具(目前,我预测将使用Felix作为我的OSGi实现) 我想创建一个基于许多捆绑包的项目。当然,每次我对一个(或多个)捆绑包进行修改时,我都不想“手动”重新部署 我想做的是: mvn buildMyOsgiDistrib mvn runMyOsgiDistrib 你有什么建议吗? 谢谢有两种选择可以帮助您实现目标 您可以: 使用Apache Karaf并创建自定义发行版 您可以在一个项目中创建一个karaf功能文件,并使用k
mvn buildMyOsgiDistrib
mvn runMyOsgiDistrib
你有什么建议吗?
谢谢有两种选择可以帮助您实现目标 您可以: 使用Apache Karaf并创建自定义发行版 您可以在一个项目中创建一个karaf功能文件,并使用karaf maven插件创建一个自定义karaf发行版 看看这个例子 使用bndtools组装应用程序。 在本例中,您使用依赖项创建pom,并使用bnd indexer插件从中创建OBR索引 然后,您可以在独立模式下使用bndrun文件来定义顶级依赖项,并让解析器根据上面创建的repo来解析它们 我创建了一个通常在bndtools UI中执行的。这个插件可能是下一个bnd版本的一部分 看 karaf变体更为成熟,因为它已经存在了更长的时间,但karaf不是普通的felix。karaf的优势在于,对于典型的大型项目,它具有许多特性。所以更容易让它工作
bndtools变体并不像他们刚刚开始支持maven那样成熟。您还必须在pom中包含索引的所有依赖项。积极的方面是,它创建了一个非常小的可部署解决方案,而解析器可以帮助您正确处理依赖关系。有两个选项可以帮助您实现这一点 您可以: 使用Apache Karaf并创建自定义发行版 您可以在一个项目中创建一个karaf功能文件,并使用karaf maven插件创建一个自定义karaf发行版 看看这个例子 使用bndtools组装应用程序。 在本例中,您使用依赖项创建pom,并使用bnd indexer插件从中创建OBR索引 然后,您可以在独立模式下使用bndrun文件来定义顶级依赖项,并让解析器根据上面创建的repo来解析它们 我创建了一个通常在bndtools UI中执行的。这个插件可能是下一个bnd版本的一部分 看 karaf变体更为成熟,因为它已经存在了更长的时间,但karaf不是普通的felix。karaf的优势在于,对于典型的大型项目,它具有许多特性。所以更容易让它工作
bndtools变体并不像他们刚刚开始支持maven那样成熟。您还必须在pom中包含索引的所有依赖项。积极的方面是,它创建了一个非常小的可部署的解决方案,并且解析器可以帮助您正确处理依赖关系。非常感谢Christian给出的详细答案 由于我发布了我的问题,我发现了以下基于Maven Pax插件的文档 它提供了在任何OSGi实现上工作的优势(不仅仅是Karaf)。目前我正在研究这个选项是什么
再次,非常感谢您非常感谢Christian给出的详细答案 由于我发布了我的问题,我发现了以下基于Maven Pax插件的文档 它提供了在任何OSGi实现上工作的优势(不仅仅是Karaf)。目前我正在研究这个选项是什么
再次感谢大家我认为烹饪书和pax插件已经过时很久了。正如你在版权中看到的,这本烹饪书是2009年出版的。如果你搜索的解决方案不是针对karaf的,我推荐bndtools。我认为cook book和pax插件已经过时很久了。正如你在版权中看到的,这本烹饪书是2009年出版的。如果您搜索的解决方案不是特定于karaf的,我建议使用bndtools。