在 IntelliJ IDEA 11 中运行 Apache Felix 4.0.2
Posted
技术标签:
【中文标题】在 IntelliJ IDEA 11 中运行 Apache Felix 4.0.2【英文标题】:Run Apache Felix 4.0.2 in IntelliJ IDEA 11 【发布时间】:2012-06-16 15:35:15 【问题描述】:根据这个post,IDEA 使用Osmorc 来运行OSGi 框架。反过来,它使用Pax Runner 来启动不同的框架实现。
IDEA 11 中的工具链只能运行最高 3.0.2 的 Apache Felix,但我必须运行 4.0.2 版本。可能吗? IDEA 是否存在其他 OSGi 框架启动器?
【问题讨论】:
我对 IDEA 10 中的 osmorc 从来都不满意,所以我最终只是将 org.apache.karaf.main.Bootstrap.main() 作为常规 java 应用程序启动。这种方法效果很好,只是您不能依赖 IDE 的编译按钮。 【参考方案1】:您可以从插件+项目设置中配置 Osmorc 使用的 OSGI 框架。 我使用 IntelliJ IDEA 11.1.2 和 Osmorc 1.4.2。
这是我将 OSGI 容器(在 IDE Settings-->OSGi)配置到某个本地的屏幕截图 安装 Apache Felix 4.0.1。
您还可以定义您的自定义框架/容器,然后选择所需的 在项目设置中使用的 OSGI 框架-->OSGI 如下所示:
为了创建运行配置,您首先需要创建一些 OSGi 方面。 希望您也在使用 maven 和 maven-bundle-plugin,这将大大 减少您需要做的配置量(因为 OSmorc 会自动与您的 pom.xml 同步),但即使您不这样做,您也可以手动编辑信息以创建捆绑包。
因此,您接下来需要做的是创建一些 OSGi 方面。转到项目“结构->构面” 并为您希望创建的每个捆绑包添加一个新的 OSGi 方面。如果您打开了自动检测,那么这些方面可能已经存在。如果没有,请手动添加它们,然后根据需要进行配置,如下例所示。
最后编辑您的“运行配置”并添加一个新的 OSGi 运行配置。 选择您希望使用的框架和您希望启动的包以及 其他参数,如下例所示:
【讨论】:
配置框架后如何运行 OSGi 包? 如上一步所示创建运行配置。使用添加按钮,您可以添加要运行的包。它们显示在表格中,您可以选择它们的起始级别。最后,您可以使用 IntelliJ 工具栏中运行配置弹出按钮旁边的“播放”或“调试”按钮启动运行配置。 我知道这是一个旧答案,但是按照这些步骤,当我运行 IntelliJ 时会出现错误“请求控制台但找不到 shell 包” @Vallentin 请参阅youtrack.jetbrains.com/v2/issue/IDEA-183907 将 IntelliJ 更新到最新版本解决了该问题。以上是关于在 IntelliJ IDEA 11 中运行 Apache Felix 4.0.2的主要内容,如果未能解决你的问题,请参考以下文章
Ktor 应用程序未在使用 IntelliJ IDEA 的 Kotlin 多平台项目中运行
如何在 IntelliJ IDEA 中自动禁用 Maven 自动导入?