根据这篇文章,IDEA 使用Osmorc来运行 OSGi 框架。反过来,它使用Pax Runner来启动不同的框架实现。
IDEA 11 中的工具链最多只能运行 3.0.2 的 Apache Felix,但我必须运行 4.0.2 版本。是否可以?IDEA 是否存在其他 OSGi 框架启动器?
根据这篇文章,IDEA 使用Osmorc来运行 OSGi 框架。反过来,它使用Pax Runner来启动不同的框架实现。
IDEA 11 中的工具链最多只能运行 3.0.2 的 Apache Felix,但我必须运行 4.0.2 版本。是否可以?IDEA 是否存在其他 OSGi 框架启动器?
您可以从插件+项目设置中配置 Osmorc 使用的 OSGI 框架。我使用 IntelliJ IDEA 11.1.2 和 Osmorc 1.4.2。
这是我将 OSGI 容器(在 IDE Settings-->OSGi)配置为 Apache Felix 4.0.1 的一些本地安装的屏幕截图。
您还可以定义您的自定义框架/容器,然后在 Project Settings-->OSGI 中选择要使用的所需 OSGI 框架,如下所示:
为了创建运行配置,您首先需要创建一些 OSGi 方面。希望您还使用 maven 和 maven-bundle-plugin,这将大大减少您需要做的配置量(因为 OSmorc 会自动与您的 pom.xml 同步),但即使您不这样做,您也可以手动编辑创建捆绑包的信息。
因此,您接下来需要做的是创建一些 OSGi 方面。转到项目“Structure-->Facets”并为您希望创建的每个包添加一个新的 OSGi 方面。如果您打开了自动检测,那么这些方面可能已经存在。如果没有,则手动添加它们,然后根据您的需要配置它们,如下例所示。
最后编辑您的“运行配置”并添加一个新的 OSGi 运行配置。选择您希望使用的框架和您希望启动的包以及其他参数,如下例所示: