IntelliJ无法解析捆绑中的Kotlin stdlib成员

时间:2018-09-27 16:53:36

标签: intellij-idea kotlin osgi

根据the Kotlin docs,有一个Kotlin标准库的OSGi捆绑包。但是,如果我按照建议用此捆绑包替换kotlin-stdlib

<dependency>
    <groupId>org.jetbrains.kotlin</groupId>
    <artifactId>kotlin-osgi-bundle</artifactId>
    <version>${kotlin.version}</version>
    <type>bundle</type>
</dependency>

IntelliJ不再能够从stdlib(即println)中找到任何类或函数:

Screenshot

如果我使用maven-pax-plugin构建并运行该项目,则一切工作正常-似乎已经破坏了IntelliJ的分析能力。

我应该如何正确地将Kotlin包含为OSGi依赖项?

我正在使用maven-bundle-plugin来构建此捆绑包。

1 个答案:

答案 0 :(得分:1)

如果删除类型部分,它应该可以工作:

<type>bundle</type>

Kotlin OSGi捆绑包不是 Maven捆绑包工件。

对于Intellij IDEA 2018.2,可以通过以下方式为我工作:

    <dependency>
        <groupId>org.jetbrains.kotlin</groupId>
        <artifactId>kotlin-osgi-bundle</artifactId>
        <version>${kotlin.version}</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.jetbrains.kotlin</groupId>
        <artifactId>kotlin-stdlib-jdk8</artifactId>
        <version>${kotlin.version}</version>
    </dependency>