IntelliJ IDEA中出现“ClassNotFoundException”错误

时间:2013-06-25 14:39:24

标签: java intellij-idea

我做了这个简单的程序:

package main.java;

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

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

"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

任何人都知道出了什么问题?

12 个答案:

答案 0 :(得分:40)

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

项目设置( Ctrl + Shift + Alt + S )→模块→来源标签 src / main / java 设置为源文件夹。然后在您的简单程序更改包中随意添加(例如 my.test )。之后,如果IntelliJ报告与快速修复符合 Alt + 输入的任何错误应该有帮助

答案 1 :(得分:10)

我遇到了这个问题,并且无法通过任何这些解决方案解决这个问题。但是我认为问题在于我使用'open'来创建一个包含一些java文件的目录中的项目。相反,我必须使用与root相同的目录“创建新项目”。

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

答案 2 :(得分:4)

如前所述,您应该检查文件→ProjectStructure→ProjectSettings→模块→来源 - 您的文件夹必须标记为“来源”。 您还应该更新Run→EditConfigurations→Configuration→Main class以与包

对应

答案 3 :(得分:2)

在我的情况下,项目的路径有一些字符,如:\ /

ex:C:\ something \ other:thing \ aaa \ project,这就是为什么它没有用。将项目移动到没有这些字符的路径可以修复错误。

答案 4 :(得分:1)

仅限未来:我在文件夹名称中有unicode字符,如“课程名称”/Tehtävät/ Project,问题出现在“ä”中。当我把它改成“a”时,程序就开始工作了。

答案 5 :(得分:1)

对于我来说,在IntelliJ-Idea 2016中,问题是在Project_structure/modules中,在路径选项卡中,您必须检查"继承项目编译输出路径" ,而不是"使用模块编译输出路径"

答案 6 :(得分:1)

我最近重新安装了intellif社区版后,我解决了这个问题。

IntelliJ IDEA 2016.3.2 Build#IC-163.10154.41,建于2016年12月21日 JRE:1.8.0_112-release-408-b6 amd64 JVM:JetBrains s.r.o的OpenJDK 64位服务器VM 我的笔记本电脑华硕N73SV与Ubuntu 16.04

上下文是: 我试图重启以前运行良好的Intellij项目。这项计划完成了intellij CI,以及它们位于我的免费邮箱服务器上。

我已尝试过此处提出的所有解决方案,但没有结果。 最后我只是: 关闭项目。关闭Intellij。将整个项目从我的freebox服务器复制/粘贴到我的系统文件夹。重新启动Intellij,先打开项目粘贴到我的系统文件夹中。从/ Build / Re构建菜单重建projet。并最终运行我的项目。而且!!!完成......它有效!!

我的建议是:路径名长度或项目路径名中满足的字符是否存在问题。 确实/ run / user / 1000 / gvfs / smb-share:server = freebox,share = disque%20dur / blaBlaToMyFileProjectFolder 完整路径名内容包括:, - / /%=

那是三重奏吗?

希望它有所帮助。 对不起,我的英语很糟糕。我是法国人;-) 奥利弗

答案 7 :(得分:0)

我也遇到了同样的问题,但是我在网上找不到解决方案,所以尝试纠正自己,读了那么多博客后我明白了这个概念,就我而言,一切都很好,因为我可以从git下载代码,但是我的IDE intellij无法无法识别Maven依赖关系,这就是为什么intellij抛出此错误,我的pom.xml拥有所有依赖关系,但是intellij仍然无法识别它。我导航到intellij右侧的maven窗口,并添加了我在其中工作的项目的路径.maven加载了所有依赖项,并且我的代码运行良好,因此基本上只有三个步骤可以使您解决它: 1.在intellij中打开Maven窗口。 2.单击“ +”,然后在其中存在prjojects pom.xml文件的位置添加路径。 3.单击输入。 现在您可以运行您的项目。 编码愉快!

答案 8 :(得分:0)

检查从中导出错误堆栈中显示的类的依赖项的范围。就我而言,范围是按规定提供的,当我删除范围时,它就起作用了。

答案 9 :(得分:0)

当我将Intellij Idea更新到2019.3时出现此错误,并且无法通过任何这些解决方案解决。但是当我取消选中Maven窗口中的所有配置文件并再次检查正确的配置文件时,它解决了。

答案 10 :(得分:0)

以上答案都可以。如果某人对提供的范围有任何依赖性,那么我想再添加一个选项,那么需要进行以下配置。

Run -> Edit Configurations -> Include dependencies with "Provided" scope.

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

答案 11 :(得分:-2)

您的软件包是main.java,您传递了参数com.intellij.rt.execution.application.AppMain java.start,而您的异常则表示无法找到java.start。这是正确的。

尝试仅使用控制台进行编译。将IDE保留为开头,花时间了解编译器而不是IDE的工作原理。