Intellij突然抛出ClassNotFoundException

我在这里完全失败了。 我有一个名为LenseProject的外部硬盘上的项目。 在LenseProject里面,我有.idealibNativesSRC文件夹。 我还有一些用于阅读的文本文件。

当我昨晚离开工作时,这一切都很好。 今天早上来,我遇到了:

 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) 

QuadTest是主要类。

我认为可能有用的信息:

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

  • 我有9个依赖项,位于lib \ lwjgl-2.9.0 \ jar中,它们在Project Structure – > Libraries中设置。

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

  • 语言水平是7.0

  • 我将依赖项设置为在项目结构 – >模块 – >依赖项中导出。

  • 在编译器输出中,我将它设置为使用模块编译输出路径,因为inheritance项目编译输出路径给了我“无法启动编译:未为模块指定输出路径”LenseProject“。在Configure Project中指定输出路径。

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

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

  • 今天早上我启动时,我错过了配置选项。 我不得不再次设置SDK和库。

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

我在编写unit testing时遇到了类似的问题。 一切都可以在命令行工作,但在IntelliJ中失败。 IntelliJ会成功编译但不会运行测试。

然后我在IntelliJ的博客上发了一篇文章: http : //blog.jetbrains.com/idea/2014/03/intellij-idea-13-1-released/

阿内说:

2014年3月21日下午12:20

您可以删除现有的junit依赖项,并允许IDEA从头开始添加JUnit库。

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

谢谢,安娜

  • 有关详细信息,请访问: http : //blog.jetbrains.com/idea/2014/03/intellij-idea-13-1-released/#sthash.2KNQuwZ5.dpuf

我从项目设置中删除了JUnit,然后让IntelliJ将其添加回来。 然后事情很好。

在我的情况下,问题是我重复使用“out”目录进行程序输出。 我通过将输出重定向到另一个文件夹来解决它。

我建议您确认Run Configuration如下:

工具栏: Run – > Edit Configurations... ,确认您的配置正确。

在此处输入图像描述

希望能帮助到你。

我知道它有点旧的post,但对我来说有帮助,去运行 – >编辑配置 – >在应用程序中选择你的主代码文件 – >右侧面板上的配置。 选中“使用备用JRE:”并选择名为jre(… / Java / jdk.xxx_xx / jre)的JDK文件夹。 申请并确定。 我对intelliJ很新,但这解决了我的问题,希望它有所帮助。

我的问题是,所有这些都重命名了项目结构,我的Maven依赖关系并没有马赫。

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

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

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

尝试转到Preferences -> Compiler并选择Eclipse,而不是使用javac。