【问题标题】:'Platform is not supported' supported when trying to run OSGi debug target尝试运行 OSGi 调试目标时支持“不支持平台”
【发布时间】:2011-06-02 22:11:06
【问题描述】:

我正在尝试从 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 容器?

【问题讨论】:

    标签: intellij-idea osgi pax-runner


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 感谢第二个提示,它也有帮助。顺便提一下,您的链接已失效...也许this 是新链接,因此下一个不需要再次搜索... :) 干杯
    猜你喜欢
    • 2017-01-12
    • 2013-07-28
    • 1970-01-01
    • 2020-01-15
    • 2015-09-16
    • 2016-10-18
    • 2021-09-04
    • 1970-01-01
    • 2018-08-27
    相关资源
    最近更新 更多