IntelliJ IDEA未索引GraalVM库

问题描述

我对GraalVM有点陌生,所以请帮助我。我正在使用IntelliJ IDEA作为我的IDE,并使用Gradle作为我的标准构建系统。我为我的所有项目都使用内置的GraalVM JDK(基于Java 11)。因此,我的问题是,当我尝试导入org.graalvm.polyglot或任何此类包时,它在导入下画了一条弯曲的线,这表明IntelliJ IDEA无法识别该包且未对其进行索引。但是,当我使用gradle或任何方法运行它时,导入的程序包将起作用。 IDE的自动完成功能不起作用。就像在记事本中编程时那样,键入类和方法的全名有点令人讨厌。我看过一些教程,建议我将graal-sdk.jar添加为依赖项,但在Java 11版本的GraalVM中找不到jar文件。我什至将整个lib文件添加Libraries中IntelliJ的Project Structure部分。所有这些都没有解决。请帮我哦!

解决方法

使IDEA识别graal-sdk.jar类的一种方法是通过构建工具将其添加到依赖项中。该罐子可以在Maven Central上找到:https://mvnrepository.com/artifact/org.graalvm.sdk/graal-sdk/20.2.0

因此将其添加到具有Maven范围的依赖项:provided将使IDEA对其进行索引并提供内容帮助等。但是由于提供了它,因此不会使用或打包。

对于Gradle,我认为它是compileOnly

编辑: 为了完整起见,在JDK11上,事物打包在jmod文件中:https://docs.oracle.com/javase/9/tools/jmod.htm#JSWOR-GUID-0A0BDFF6-BE34-461B-86EF-AAC9A555E2AE

也许您可以说服IDE看一下它们。我认为是$GRAALVM_HOME/jmods/org.graalvm.sdk.jmod