Java Intellij突然抛出ClassNotFoundException

Java Intellij突然抛出ClassNotFoundException,java,compiler-errors,intellij-idea,Java,Compiler Errors,Intellij Idea,我在这里完全不知所措。我有一个外置硬盘上的项目叫LenseProject。在LenseProject中,我有.idea、lib、本地人和SRC文件夹。我还有一些文本文件供阅读 当我昨晚下班时,一切都很顺利。今天早上来的时候,我遇到了: Exception in thread "main" java.lang.ClassNotFoundException: QuadTest at java.net.URLClassLoader$1.run(URLClassLoader.java:366)

我在这里完全不知所措。我有一个外置硬盘上的项目叫LenseProject。在LenseProject中,我有
.idea
lib
本地人
SRC
文件夹。我还有一些文本文件供阅读

当我昨晚下班时,一切都很顺利。今天早上来的时候,我遇到了:

Exception in thread "main" java.lang.ClassNotFoundException: QuadTest
    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) 
四级考试是主要的课程

我认为可能有用的信息:

  • 如果我注释掉导入,就会得到相应的错误消息。 (找不到符号等)

  • 我有9个依赖项,位于lib\lwjgl-2.9.0\jar中 在项目结构->库中

  • 该模块将LenseProject作为内容根,SRC作为 源文件夹

  • 语言水平为7.0

  • 我已将依赖项设置为在项目结构->模块中导出 ->依赖关系

  • 在编译器输出中,我将其设置为使用模块编译输出路径, 由于继承项目编译输出路径给了我“无法启动” 编译:未为模块指定输出路径 “LenseProject”。在配置项目中指定输出路径

  • 我有VM选项
    -Djava.library.path=Natives

  • 我可以通过命令提示符编译和运行程序,没有问题

  • 今天早上启动时,我缺少配置选项。我必须重新设置SDK和库


尝试转到
首选项->编译器
并选择Eclipse,而不是使用javac。

我在编写单元测试时遇到类似问题。所有操作都可以在命令行中运行,但在IntelliJ中失败。IntelliJ可以成功编译,但无法运行测试

然后我在IntelliJ的博客上看到一篇帖子:

阿内特说:

2014年3月21日下午12:20

您可以删除现有的junit依赖项,并允许IDEA从头开始为您的应用程序添加junit库

新junit不再捆绑hamcrest,但在运行时仍然依赖它

谢谢, 安娜

  • 更多信息,请访问:

我从项目设置中删除了JUnit,让IntelliJ重新添加。然后一切正常。

我建议确认您的
运行配置,如下所示:

工具栏:
运行
->
编辑配置…
,确认配置正确


希望有帮助。

打开您的Idea文件-->项目结构-->模块,然后选择有问题的模块,在“路径”选项卡中,将所选更改为“使用模块编译输出路径”“

我知道这篇文章有点老,但对我来说,在右面板上选择主代码文件-->配置的应用程序中运行-->编辑配置-->有助于我。选中“Use alternative JRE:”并选择名为JRE的JDK文件夹(…/Java/JDK.x.x.x_xx/JRE)。申请并确认。我是intelliJ的新手,但这解决了我的问题,希望它能帮助别人。

在我的例子中,问题是我将“out”目录重新用于程序输出。
通过将输出重定向到另一个文件夹,我解决了这个问题。

我的问题是,所有这些重命名项目结构的操作,我的Maven依赖项都没有运行


在更改pom文件中的maven依赖项后,它工作了。

文件->项目结构->项目。 将项目语言级别从“SDK默认”更改为您正在使用的实际版本


这很奇怪,但解决了问题。

我也有类似的问题。运行tomcat时未找到新的依赖项。问题是它没有被部署到
/WEB-INF/lib
。半天以后,我的头撞在桌子上,我发现了这个东西


基本上,我需要从模块设置->工件->MyWar->输出布局选项卡添加依赖项。在“可用元素”下打开“项目”文件夹。如果其中列出了maven依赖项,请选择它们。然后右键单击->放入/WEB-INF/lib

检查主类名


mainClassName=“com.xxx.xxxApplicationKt”

您需要先下载依赖项,然后将其添加到项目类路径。我不确定您的意思。我在lib文件夹中有依赖项。您是否尝试使缓存无效。经常帮助处理突发错误。文件->使缓存无效您找到了此问题的解决方案吗?我面临着同样的问题,但三年后:)2020年:如果使用Gradle,一个潜在的补救办法是编辑您的
build.Gradle
并重新构建它,那么您为什么要告诉Intellij选择Eclipse编译器?很有可能,它们不会被安装。甚至选择它们也是一种选择吗?@StephenC是的,这是一种选择。看看,好的。。。因此,假设安装了Eclipse编译器(一段时间!)…>>为什么?