根据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
)中找到任何类或函数:
如果我使用maven-pax-plugin
构建并运行该项目,则一切工作正常-似乎已经破坏了IntelliJ的分析能力。
我应该如何正确地将Kotlin包含为OSGi依赖项?
我正在使用maven-bundle-plugin
来构建此捆绑包。
答案 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>