Intellij突然抛出ClassNotFoundException

时间:2013-05-31 12:58:28

标签: java compiler-errors intellij-idea

我在这里完全失败了。我有一个名为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中,已设置 在项目结构中 - >库。

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

  • 语言水平为7.0

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

  • 在编译器输出中,我将其设置为使用模块编译输出路径, as Inherit Project Compile Output Path给了我“无法启动 编译:未为模块指定输出路径 “LenseProject”。在Configure Project中指定输出路径。

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

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

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

10 个答案:

答案 0 :(得分:16)

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

答案 1 :(得分:9)

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

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

  

anet说:

     

2014年3月21日下午12:20

     

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

     

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

     

谢谢,   安娜

     

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

答案 2 :(得分:2)

我有类似的问题。运行tomcat时未找到新的依赖项。问题是它没有部署到/WEB-INF/lib。经过半天的敲打,我发现这张YouTube video固定了它。

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

答案 3 :(得分:1)

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

答案 4 :(得分:0)

我建议您确认Run Configuration如下:

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

enter image description here

希望它有所帮助。

答案 5 :(得分:0)

我知道它有点旧帖但是对我来说有帮助我去了Run - >编辑配置 - >在应用程序中选择您的主代码文件 - >右侧面板上的配置。选中“使用备用JRE:”并选择名为jre(... / Java / jdk.x.x.x_xx / jre)的JDK文件夹。申请并确定。我对intelliJ很新,但这解决了我的问题,希望它可以帮到某人。

答案 6 :(得分:0)

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

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

答案 7 :(得分:0)

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

这很奇怪,但是可以解决问题。

答案 8 :(得分:0)

检查您的mainClassName

mainClassName =“ com.xxx.xxxApplicationKt”

答案 9 :(得分:-3)

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