我正在尝试通过 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
我已经尝试过此答案中给出的所有解决方案:
以及安装 Flatpak 版本,看看是否是 JetBrains 网站安装程序的某种配置问题,但似乎没有任何区别。
几个小时后,我通过测试保存项目的不同位置解决了这个问题,因为我认为这可能与网络驱动器上的文件有关。
问题最终出在文件路径上。具体来说,文件路径中包含“:”字符。就我而言,这里是这个粗体文件夹:
/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 测试项目主
我复制了该文件夹的名称,但没有意识到其中有一个冒号。从项目位置的文件路径中删除冒号后,一切都按预期工作。