2013-05-31 64 views
23

我在这里完全损失。我在名为LenseProject的外部硬盘上有一个项目。在LenseProject里面,我有.idea,lib,NativesSRC文件夹。我也有一些文本文件可供阅读。Intellij突然抛出ClassNotFoundException

当我昨天下班时,这一切都很好。今天早上,我遇到了:

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

  • 我必须设置在项目结构出口的依赖 - >模块 - >相关性。

  • 在编译器的输出,我把它设置为使用模块的编译输出路径, 作为继承工程编译输出路径给我“无法启动 编译:为模块 未指定输出路径‘LenseProject’指定在配置项目输出路径。

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

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

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

+0

您需要首先下载依赖关系,然后将其添加到项目类路径中。 –

+0

我不确定你的意思。我有lib文件夹中的依赖关系。 – Cereal

+0

你有没有试图使缓存失效。经常帮助突发错误。 文件 - >无效缓存 – M4tchB0X3r

回答

-3

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

+0

呃...问题是关于Intellij ... –

+0

@StephenC我的答案是intellij ... – BAR

+0

那么,为什么你告诉Intellij选择Eclipse编译器?可能性是,他们不会被安装。它甚至可以选择它们吗? –

7

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

那时,我发现后跑的IntelliJ的博客:http://blog.jetbrains.com/idea/2014/03/intellij-idea-13-1-released/

ANET说:

2014年3月21日在12:20 PM

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

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

感谢, 安娜

我从我的项目设置中删除JUnit和我们的IntelliJ添加回来。然后事情运作良好。

+0

它像广告一样工作;) – Edenshaw

0

我建议,确认您的Run Configuration如下:

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

enter image description here

希望它能帮助。

15

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

0

我知道它的一些旧帖子,但对我来说,通过运行 - >编辑配置 - >在应用程序中帮助选择了您的主代码文件 - >右侧面板上的配置。选中“使用替代JRE:”并选择名为jre(.../Java/jdk.x.x.x_xx/jre)的JDK文件夹。应用并确定。我对intelliJ真的很陌生,但解决了我的问题,希望它能帮助某人。

0

mopdule的修复输出路径对我有帮助。

0

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

0

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

在更改了pom文件中的maven依赖关系之后,它起作用了。

相关问题