理解想法:java.lang.ClassNotFoundException

intelliJ IDEA: java.lang.ClassNotFoundException

我正在使用 Intellij IDEA 并收到此错误:

Exception in thread "main" java.lang.ClassNotFoundException: siimport.Pres
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:122)

Process finished with exit code 1

我的代码是,

package si;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class Pres
{
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new FileReader("kk.data"));
        BufferedWriter bw = new BufferedWriter(new FileWriter("samlog.csv"));
        String line;
        while((line = br.readLine()) != null)
        {
            String[] values =line.split(" ", -1);
            bw.write(values[0] + "," + values[3] + "," + values[5] + "\", "+values[6]+ "," + values[8] + "\n");
        }
        br.close();
        bw.close();
    }
}

导致此错误的可能是什么问题,我该如何解决?

我也做了这个截图:

Exception in thread "main" java.lang.ClassNotFoundException: Main

在 run/debug 配置中,您为 Main class 字段写入了错误的 class 名称。 class 的名称应该是 class,它具有 main 到 运行 的方法。

如果您没有为 class 创建或没有 select run/debug 配置,也可能会发生此错误。要创建它,请使用 Edit Configurations -> Add new under application tree item 或从编辑器按 Alt +hift+F10 然后选择你的文件到 运行。配置将自动添加。要 select 当前 run/debug 配置,请使用工具栏中的下拉菜单。

通常我更喜欢从菜单中选择 运行 -> 运行,但正如@Bajal 提到的在评论中,您可以右键单击 Project Structure 中的文件,然后从弹出菜单中选择 运行 或按 Ctrl+Shift+F10.

顺便说一句,我遇到了这个问题并解决了它,因为 运行 配置正在使用 "Use Classpath of module" 项目名称

我把它从那个改成了

"Use Classpath of module" ProjectName_main

这让它起作用了——我个人不喜欢他们添加这些子模块的方式,但我想如果你使用像 gradle/maven 这样的东西,你将不得不在 Intellij 中忍受它。