> Task :core:compileScala FAILED javac exited with exit code -1 ## Exception when compiling 272 sources to /opt/kafka/core/build/classes/scala/main java.io.IOException: Cannot run program "/usr/lib/jvm/java-17-openjdk-amd64/bin/javac" (in directory "/root/.gradle/workers"): error=2, No such file or directory
时间: 2023-07-12 13:36:00 浏览: 60
这个错误是由于找不到Java编译器导致的。您需要确保Java编译器已经正确安装并且在系统路径中。您可以尝试重新安装Java或者查看环境变量是否正确设置。如果您正在使用Linux系统,可以尝试使用以下命令安装Java编译器:
```
sudo apt-get install default-jdk
```
如果您已经安装了Java编译器,可以尝试将其添加到PATH环境变量中,例如:
```
export PATH=$PATH:/usr/lib/jvm/java-17-openjdk-amd64/bin/
```
然后重新运行编译命令,看看问题是否已经解决。
相关问题
> Task :core:compileScala FAILED FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':core:compileScala'. > java.io.IOException: Cannot run program "/usr/lib/jvm/java-17-openjdk-amd64/bin/javac" (in directory "/root/.gradle/workers"): error=2, No such file or directory
这个错误是由于 Gradle 在编译 Scala 代码时无法找到 Java 编译器。您需要确保 Java 编译器已经正确安装并且在系统路径中。您可以尝试重新安装 Java 或者查看环境变量是否正确设置。如果您正在使用 Linux 系统,可以尝试使用以下命令安装 Java 编译器:
```
sudo apt-get install default-jdk
```
如果您已经安装了 Java 编译器,可以尝试将其添加到 PATH 环境变量中,例如:
```
export PATH=$PATH:/usr/lib/jvm/java-17-openjdk-amd64/bin/
```
然后重新运行编译命令,看看问题是否已经解决。
unrecognized option: --add-opens=jdk.compiler/com.sun.tools.javac.code=all-unnamed
### 回答1:
这是一个Java编译器的错误信息,意思是指在使用Java编译器时,出现了一个无法识别的选项:--add-opens=jdk.compiler/com.sun.tools.javac.code=all-unnamed。这可能是因为你使用了一个不支持该选项的Java编译器版本,或者该选项在该版本中已被弃用。建议检查Java编译器版本并尝试使用其他选项。
### 回答2:
这个错误提示通常出现在使用Java命令时,表示Java不认识或无法识别的选项“--add-opens=jdk.compiler/com.sun.tools.javac.code=all-unnamed”,因此无法执行命令。
这个选项是用于打开Java 9及以上版本的新特性,在Java程序中访问未命名模块(unnamed module)中的包或类。如果你运行的Java版本不支持这个选项,就会提示“unrecognized option: --add-opens=jdk.compiler/com.sun.tools.javac.code=all-unnamed”错误。
解决这个问题的方法是,检查你的Java版本是否高于Java 9,如果低于Java 9,则需要升级Java版本。同时,也要确保你使用的Java命令的路径正确,如果不正确也会导致这个错误。此外,还可以检查Java程序中是否有其他选项或语法错误,这些也可能导致Java无法识别该选项。
总之,无论是Java语法错误,还是Java版本问题,只要出现“unrecognized option: --add-opens=jdk.compiler/com.sun.tools.javac.code=all-unnamed”错误,都需要认真检查和排查问题,以便及时解决。
### 回答3:
这是一个Java编译器报错信息,意思是指在Java编译器中输入了一个未被识别的选项“--add-opens=jdk.compiler/com.sun.tools.javac.code=all-unnamed”。
首先,Java编译器是用来将Java源代码(.java文件)编译成Java字节码文件(.class文件)的工具。Java编译器在编译代码时需要使用一些选项来控制编译过程,如指定编译输出目录、编译版本、编码格式等。
其中,“--add-opens=jdk.compiler/com.sun.tools.javac.code=all-unnamed”是Java 9引入的一个新选项,用于打开JDK内部的模块,以便在编译Java代码时可以访问它们。
但是,这个选项只在Java 9及以上版本中可用,如果在低版本的Java编译器中输入这个选项,就会出现类似“unrecognized option”的错误提示。因此,如果你使用的是低版本的Java编译器,就不能使用这个选项,否则就会出现报错信息。
总之,要解决这个问题,你需要检查你的Java编译器的版本,如果是低版本的话就不能使用这个选项,需要使用合适的选项来控制编译过程。另外,你也可以尝试升级你的Java编译器到最新版本,这样就可以使用最新的选项来编译你的Java代码。