Intellij突然抛出ClassNotFoundException

Cer*_*eal 28 java compiler-errors intellij-idea

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

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

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) 
Run Code Online (Sandbox Code Playgroud)

QuadTest是主要类.

我认为可能有用的信息:

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

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

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

  • 语言水平是7.0

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

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

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

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

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

小智 16

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


Tre*_*erW 9

我在编写单元测试时遇到了类似的问题.一切都可以在命令行工作但在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,但仍然依赖于它在运行时.

谢谢,安娜

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


ant*_*naj 5

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

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


BAR*_*BAR -3

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

  • 好的...假设安装了 Eclipse 编译器(一个延伸!)...>>为什么<< 更改编译器会修复本质上是运行时类路径问题? (3认同)