在IntelliJ IDEA 11中运行Apache Felix 4.0.2

frm*_*frm 6 java osgi intellij-idea apache-felix

根据这篇文章,IDEA使用Osmorc来运行OSGi框架.反过来,它使用Pax Runner来启动不同的框架实现.

IDEA 11中的工具链只能运行Apache Felix 3.0.2,但我必须运行4.0.2版本.可能吗?IDEA还有其他OSGi框架发射器吗?

pvl*_*dis 6

您可以从插件+项目设置配置Osmorc使用的OSGI框架.我使用IntelliJ IDEA 11.1.2和Osmorc 1.4.2.

这是一个屏幕截图,我将OSGI容器(在IDE设置 - > OSGi)配置为Apache Felix 4.0.1的一些本地安装.

OSGi框架定义

您还可以定义自定义框架/容器,然后选择要在项目设置 - > OSGI中使用的所需OSGI框架,如下所示:

OSGi框架选择

要创建运行配置,首先需要创建一些OSGi方面.希望您还使用maven和maven-bundle-plugin,这将大大减少您需要执行的配置量(因为OSmorc会自动与您的pom.xml同步),但即使您没有,也可以手动编辑用于创建捆绑包的信息.

那么,接下来需要做的是创建一些OSGi方面.转到项目"结构 - >构面"并为要创建的每个捆绑添加新的OSGi构面.你已经开启了自动检测功能,然后可能已经存在方面.如果没有,则手动添加它们,然后根据需要配置它们,如下例所示.

Intellij IDEA OSGi Facet配置

最后编辑"运行配置"并添加新的OSGi运行配置.选择您要使用的框架以及要启动的包以及其他参数,如以下示例所示:

Intellij IDEA OSGi运行配置

  • 我知道这是一个老答案,但是按照这些步骤,当我运行IntelliJ时会出现错误"控制台请求但没有找到shell包" (2认同)