IntelliJ IDEA构建Java项目报错:java: 无此文件或目录
问题描述
我的环境:
- Java:
1.8.0_392 - Apache Maven:
3.6.3 - 系统:Ubuntu Linux
x86_64
在IntelliJ IDEA中创建新项目时,出现如下错误:
Executing pre-compile tasks… Abnormal build process termination: nice -n 10 /usr/lib/jvm/default-java/bin/java -Xmx700m -Djava.awt.headless=true -Djna.boot.library. path=/snap/intellij-idea-community/475/lib/jna/amd64 -Djna.nosys=true -Djna.noclasspath=true -Dpreload.project. path=/home/mi/IdeaProjects/demo1 -Dpreload.config.path=/home/mi/.config/JetBrains/IdeaIC2023.3/options -Dexternal.project.config=/home/mi/.cache/JetBrains/IdeaIC2023.3/projects/demo1.427dd562/external_build_system -Dcompile.parallel=false -Drebuild.on.dependency.change=true -Didea.IntToIntBtree.page.size=32768 -Djdt.compiler.useSingleThread=true -Daether.connector.resumeDownloads=false -Dio.netty.initialSeedUniquifier=3917806107211059579 -Dfile.encoding=UTF-8 -Duser.language=zh -Duser.country=CN -Didea.paths.selector=IdeaIC2023.3 -Didea.home.path=/snap/intellij-idea-community/475 -Didea.config.path=/home/mi/.config/JetBrains/IdeaIC2023.3 -Didea.plugins.path=/home/mi/.local/share/JetBrains/IdeaIC2023.3 -Djps.log.dir=/home/mi/.cache/JetBrains/IdeaIC2023.3/log/build-log -Djps.fallback.jdk.home=/snap/intellij-idea-community/475/jbr -Djps.fallback.jdk.version=17.0.9 -Dio.netty.noUnsafe=true -Djava.io.tmpdir=/home/mi/.cache/JetBrains/IdeaIC2023.3/compile-server/demo1_d31a0138/_temp_ -Djps.backward.ref.index.builder=true -Djps.kotlin.home=/snap/intellij-idea-community/475/plugins/Kotlin/kotlinc -Dkotlin.incremental.compilation=true -Dkotlin.incremental.compilation.js=true -Dkotlin.daemon.enabled -Dkotlin.daemon.client.alive.path=\"/tmp/kotlin-idea-11008715337566427978-is-running\" -Dide.propagate.context=false -classpath /snap/intellij-idea-community/475/plugins/java/lib/jps-launcher.jar org.jetbrains.jps.cmdline.Launcher /snap/intellij-idea-community/475/plugins/java/lib/jps-builders.jar:/snap/intellij-idea-community/475/plugins/java/lib/jps-builders-6.jar:/snap/intellij-idea-community/475/plugins/java/lib/jps-javac-extension.jar:/snap/intellij-idea-community/475/lib/util-8.jar:/snap/intellij-idea-community/475/lib/util_rt.jar:/snap/intellij-idea-community/475/lib/platform-loader.jar:/snap/intellij-idea-community/475/lib/annotations.jar:/snap/intellij-idea-community/475/lib/protobuf.jar:/snap/intellij-idea-community/475/lib/jps-model.jar:/snap/intellij-idea-community/475/plugins/java/lib/javac2.jar:/snap/intellij-idea-community/475/lib/forms_rt.jar:/snap/intellij-idea-community/475/lib/util.jar:/snap/intellij-idea-community/475/plugins/java/lib/aether-dependency-resolver.jar:/snap/intellij-idea-community/475/plugins/java/lib/maven-resolver-connector-basic.jar:/snap/intellij-idea-community/475/plugins/java/lib/maven-resolver-transport-file.jar:/snap/intellij-idea-community/475/plugins/java/lib/maven-resolver-transport-http.jar:/snap/intellij-idea-community/475/lib/idea_rt.jar:/snap/intellij-idea-community/475/plugins/Kotlin/lib/jps/kotlin-jps-plugin.jar:/snap/intellij-idea-community/475/lib/util-8.jar:/snap/intellij-idea-community/475/plugins/eclipse/lib/eclipse-jps.jar:/snap/intellij-idea-community/475/plugins/eclipse/lib/eclipse-common.jar:/snap/intellij-idea-community/475/plugins/platform-langInjection/lib/java-langInjection-jps.jar:/snap/intellij-idea-community/475/plugins/Groovy/lib/groovy-jps.jar:/snap/intellij-idea-community/475/plugins/Groovy/lib/groovy-constants-rt.jar:/snap/intellij-idea-community/475/plugins/javaFX/lib/javaFX-jps.jar:/snap/intellij-idea-community/475/plugins/javaFX/lib/javaFX-common.jar:/snap/intellij-idea-community/475/plugins/uiDesigner/lib/jps/java-guiForms-jps.jar:/snap/intellij-idea-community/475/plugins/maven/lib/maven-jps.jar:/snap/intellij-idea-community/475/plugins/space/lib/space-java-jps.jar:/snap/intellij-idea-community/475/plugins/gradle-java/lib/gradle-jps.jar org.jetbrains.jps.cmdline.BuildMain 127.0.0.1 36503 ad833636-3746-4830-9e1e-04530999cf78 /home/mi/.cache/JetBrains/IdeaIC2023.3/compile-server nice: "/usr/lib/jvm/default-java/bin/java": No such file or directory
补充信息
- 首次运行新项目的Java主类时触发错误,但选择**"运行前不构建"**选项后,能成功运行Java类,推测问题出在项目构建环节。
- 安装OpenJDK 8前,误执行了错误命令:
$ sudo apt install defatult-jdk
之后才正确安装OpenJDK 8:
$ sudo apt install openjdk-8-jdk
- 怀疑错误根源是路径
/usr/lib/jvm/default-java/bin/java不存在,可能和之前误装的defatult-jdk有关,但不熟悉Linux系统,不知道怎么解决。
解决方案
1. 修复系统默认Java路径
首先检查/usr/lib/jvm/default-java是否为有效软链接:
ls -l /usr/lib/jvm/default-java
如果显示"不存在"或链接指向无效路径,用update-alternatives重新设置默认Java版本:
sudo update-alternatives --config java
根据提示选择已安装的OpenJDK 8对应的编号(比如编号1对应的是/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java),按回车确认。
2. 验证设置是否生效
执行以下命令检查默认Java版本:
java -version
如果输出为1.8.0_392,说明设置成功。
3. 配置IntelliJ IDEA的JDK路径
打开IntelliJ IDEA,依次进入:
- File → Project Structure → SDKs
- 确认已添加OpenJDK 8,路径指向
/usr/lib/jvm/java-8-openjdk-amd64 - 进入Project Settings → Project,将Project SDK设置为刚才添加的OpenJDK 8
- 进入Modules,确保每个模块的SDK也选择OpenJDK 8
4. 清理IntelliJ缓存并重启
- 点击File → Invalidate Caches...
- 选择"Invalidate and Restart",等待IDE重启后重新构建项目
内容的提问来源于stack exchange,提问作者XinyuYao
相关产品推荐
相关产品推荐

