为什么我在 IntelliJ 上收到错误消息“Error: Could not find or load main class Main Caused by: java.lang.ClassNotFoundException: Main”?

问题描述 投票:0回答:1

我正在尝试通过 IntelliJ 自动生成一个简单的 HelloWorld 程序,该程序在 Linux Mint 安装上运行。如果直接导航到 .java 文件,我可以通过终端运行代码,但通过 IntelliJ 运行时则不行(使用 Shift+F10 或任何其他方法)。当我尝试运行时,它会生成此命令,然后失败:

/home/用户名/.jdks/openjdk-22.0.2/bin/java -javaagent:/home/用户名/程序/二进制文件和脚本/IntelliJ/idea-IC-242.20224.387/lib/idea_rt.jar=42113: /home/用户名/程序/二进制文件和脚本/IntelliJ/idea-IC-242.20224.387/bin -Dfile.encoding=UTF-8 -Dsun.stdout.encoding=UTF-8 -Dsun.stderr.encoding=UTF-8 -classpath /home/用户名/网络驱动器/学校和教育/学校/MOOC/数据结构与算法一:数组/JUnit/JUnit测试实践/JUnit测试项目/out/生产/JUnit测试项目Main

错误:无法找到或加载主类Main 引起原因:java.lang.ClassNotFoundException:Main

进程已完成,退出代码为 0

我已经尝试过此答案中给出的所有解决方案:

错误:无法在 intelliJ IDE 中找到或加载主类

以及安装 Flatpak 版本,看看是否是 JetBrains 网站安装程序的某种配置问题,但似乎没有任何区别。

java linux intellij-idea classnotfoundexception linux-mint
1个回答
0
投票

几个小时后,我通过测试保存项目的不同位置解决了这个问题,因为我认为这可能与网络驱动器上的文件有关。

问题最终出在文件路径上。具体来说,文件路径中包含“:”字符。就我而言,这里是这个粗体文件夹:

/home/用户名/.jdks/openjdk-22.0.2/bin/java -javaagent:/home/用户名/程序/二进制文件和脚本/IntelliJ/idea-IC-242.20224.387/lib/idea_rt.jar=42113: /home/用户名/程序/二进制文件和脚本/IntelliJ/idea-IC-242.20224.387/bin -Dfile.encoding=UTF-8 -Dsun.stdout.encoding=UTF-8 -Dsun.stderr.encoding=UTF-8 -classpath /home/用户名/网络驱动器/学校和教育/学校/MOOC/数据结构与算法一:数组/JUnit/JUnit 测试实践/JUnit 测试项目/out/生产/JUnit 测试项目主

我复制了该文件夹的名称,但没有意识到其中有一个冒号。从项目位置的文件路径中删除冒号后,一切都按预期工作。

© www.soinside.com 2019 - 2024. All rights reserved.