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

Gam*_*lor 5 osgi intellij-idea 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)
Run Code Online (Sandbox Code Playgroud)

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

JBa*_*uch 9

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

名称是"platform."+您提供的名称,版本是逐字的.此处列出了不同平台的受支持版本.但该列表并不是最新的.

您可以通过查看转轮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.

  • 感谢第二个提示,它也有所帮助.简而言之,你的链接已经死了......也许[这个](http://team.ops4j.org/wiki/display/paxrunner/5.4.2.+Pax+Runner+-+Platform+-+Felix)是新的一个所以下一个不需要再次搜索... :)欢呼 (2认同)