IntelliJ IDEA中出现"ClassNotFoundException"错误

Aid*_*ido 39 java intellij-idea

我做了这个简单的程序:

package main.java;

public class start {
    public static void main(String[] args) {
        System.out.println("Hello World!");
    }
}
Run Code Online (Sandbox Code Playgroud)

并得到了这个错误.我不知道发生了什么,

"C:\Program Files\Java\jdk1.7.0_21\bin\java" -Didea.launcher.port=7532 "-Didea.launcher.bin.path=C:\Program Files (x86)\JetBrains\IntelliJ IDEA Community Edition 12.1.4\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.7.0_21\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.7.0_21\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.7.0_21\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.7.0_21\jre\lib\jce.jar;C:\Program Files\Java\jdk1.7.0_21\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.7.0_21\jre\lib\jfxrt.jar;C:\Program Files\Java\jdk1.7.0_21\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.7.0_21\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.7.0_21\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.7.0_21\jre\lib\resources.jar;C:\Program Files\Java\jdk1.7.0_21\jre\lib\rt.jar;C:\Program Files\Java\jdk1.7.0_21\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.7.0_21\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.7.0_21\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.7.0_21\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.7.0_21\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.7.0_21\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.7.0_21\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.7.0_21\jre\lib\ext\zipfs.jar;C:\Users\Tim\IdeaProjects\Rust\out\production\Rust;C:\Program Files (x86)\JetBrains\IntelliJ IDEA Community Edition 12.1.4\lib\idea_rt.jar" com.intellij.rt.execution.application.AppMain java.start
Exception in thread "main" java.lang.ClassNotFoundException: java.start
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:188)
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:113)

Process finished with exit code 1
Run Code Online (Sandbox Code Playgroud)

谁知道什么是错的?

小智 42

可能你的项目结构是src/main/java/start.java但是当你将它添加到IntelliJ时你已经将src设置为源文件夹,因此IntelliJ将main.java作为包.

项目设置(Ctrl+ Shift+ Alt+ S)→模块→源选项卡中,src/main/java设置源文件夹.然后在你的简单程序更改包中,你想要的任何东西(例如my.test).之后如果IntelliJ报告任何与快速修复Alt+ + 一致的错误Enter应该有帮助


suj*_*han 20

上面的答案都很好。如果有人对所提供的范围有任何依赖性,那么我想添加一个选项,然后需要以下配置。

Run -> Edit Configurations -> Include dependencies with "Provided" scope.
Run Code Online (Sandbox Code Playgroud)

标记复选框,应用并运行。


Tri*_*net 10

我有这个问题,无法用任何这些解决方案解决它.但是我认为问题在于我使用'open'来创建一个包含一些java文件的目录中的项目.相反,我必须使用与root相同的目录"创建新项目".

确保在"创建新项目"时删除任何".idea"目录和".iml"文件,因为它会抱怨已经在给定目录中的项目.