我对 GraalVM 的东西有点陌生,所以请帮助我。我使用 IntelliJ IDEA 作为我的 IDE,使用 Gradle 作为我的标准构建系统。我的所有项目都使用内置的 GraalVM JDK(它基于 Java 11)。所以,我的问题是当我尝试导入 org.graalvm.polyglot
时或任何此类包,它在导入下绘制一条波浪线,表示 IntelliJ IDEA 无法识别该包并且尚未对其进行索引。但是当我使用 gradle 或任何方法运行它时,导入的包可以工作。 IDE 的自动完成功能不起作用。像在记事本中编程时那样输入类和方法的全名是有点烦人的。我看过一些关于这个的教程,建议我添加 graal-sdk.jar
作为依赖项,但在 Java 11 版本的 GraalVM 中找不到 jar 文件。我什至添加了整个 lib
文件夹到 IntelliJ 的 Libraries
Project Structure
中的部分.所有这些都没有奏效。请帮助我OwO!
最佳答案
让 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
关于java - IntelliJ IDEA 不索引 GraalVM 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64399624/