在IntelliJ IDEA中运行时出现java.lang.ClassNotFoundException [英] java.lang.ClassNotFoundException when running in IntelliJ IDEA
问题描述
我创建了一个使用数据库的程序,在IntelliJ IDEA中编译时遇到以下错误。有谁为什么会发生这种情况以及如何解决?
您得到的错误不是出现在complilation上,而是出现在您尝试运行应用程序时。这是因为Java无法在项目输出目录(classpath)的 db
子目录中找到 Table.class
文件。
可能由于多种原因发生:
- 错误的主要类
I creating a program to work with databases and I am getting the following error when compiling in IntelliJ IDEA. Does anyone why this is happening and how I could solve it?
解决方案The error that you get occurs not on complilation, but when you try to run your application. It happens because Java was not able to find
Table.class
file insidedb
subdirectory of the project output directory (classpath).It can happen for multiple reasons:
- wrong main class selected in the run/debug configuration
Table.java
is excluded from compilation (by accident or intentionally because it contained errors and you wanted to skip it while working on other code)- class not compiled because Build step is excluded from from Before launch steps in the Run/Debug configuration
- project is misconfigured and there is no Source root defined for the directory containing
db
subdirectory Table.java
has incorrectpackage
statement or is located/moved to a different package- project path contains a colon
:
on Mac/Linux or semicolon;
on Windows, it's used to separate the classpath and will render the classpath invalid. See this thread for details. Note that Finder on Mac may display colons in the path as slashes. - the jar may not execute if one of the dependent jars is digitally signed since the new artifact will include the partial signature of the dependency. See this answer for more details.
In a properly configured project and with the correct run/debug configuration everything works just fine:
这篇关于在IntelliJ IDEA中运行时出现java.lang.ClassNotFoundException的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!