尝试运行OSGi调试目标时,支持“不支持平台”

时间:2011-01-03 15:54:18

标签: intellij-idea osgi pax-runner

我正在尝试从IntelliJ Idea运行一个小型的OSGi项目。我在Idea的OSGi配置部分添加了Equinox容器。然后我将OSGi方面添加到项目中。一切看起来都不错。

然而,一旦我尝试运行该项目,我就遇到了麻烦。我使用IntelliJ Idea的'OSGi Bundles'跑步者。在那里,我选择我的项目包和OSGi容器并运行它。这个问题开始了。我总是出现同样的错误信息:

             ___
            /  /
           /  / Oops, there has been a problem!
          /  /  
         /__/   Platform [platform.felix 3.0.6] is not supported
        ___
       /__/     

     -> Exception caught during execution:
    org.ops4j.pax.runner.ConfigurationException: Platform [platform.felix 3.0.6] is not supported
        at org.ops4j.pax.runner.Run.installPlatform(Run.java:611)
        at org.ops4j.pax.runner.Run.start(Run.java:221)
        at org.ops4j.pax.runner.Run.main(Run.java:148)
        at org.ops4j.pax.runner.Run.main(Run.java:121)

我尝试使用其他OSGi容器,如Felix或Knopflerfish,并遇到同样的问题。有谁知道我做错了什么。或者IntelliJ支持哪些版本的OSGi容器?

1 个答案:

答案 0 :(得分:9)

Osmorc(IntelliJ OSGi插件)使用您在IDE的OSGi设置中提供的平台名称和版本设置pax runner上下文(IDE设置 - > OSGi - >框架定义)。

名称是“platform。”+您提供的名称,版本是逐字的。 列出了here不同平台的受支持版本。但该列表并不是最新的。

您可以通过查看转轮jar来检查实际版本。转到你的idea_home / plugins / osmorc / lib,打开pax-runner -... jar。 META-INF目录包含每个平台的子目录,其中包含definition- $ VERSION.xml。

对于您的示例,您可以看到pax-runner 1.5.0中不支持Felix 3.0.6。最新支持的版本是3.0.2。