Intellij突然抛出ClassNotFoundException
我在这里完全失败了。 我有一个名为LenseProject的外部硬盘上的项目。 在LenseProject里面,我有.idea
, lib
, Natives
和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)
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。