IntelliJ IDEA 未对 GraalVM 库建立索引

tof*_*rst 5 java 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文件夹添加到 IntelliJLibraries中的部分Project Structure。所有这些都没有成功。有人可以帮我解决这个问题吗?

Ole*_*jev 2

让 IDEA 识别 graal-sdk.jar 类的一种方法是通过构建工具将其添加到您的依赖项中。该 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