【发布时间】:2014-12-01 01:19:21
【问题描述】:
我从其他人那里收到了一个 IntelliJ 项目,但它甚至不会为我运行最简单的类。
作为一个简单的示例,以下类将抛出 ClassNotFoundException 而不会出现编译器错误:
package myPackage;
public class Main {
public static void main(String[] args) {
System.out.println("Hello World!");
System.out.println("Soon our GUI will start from here!");
System.exit(0);
}
}
这将引发以下错误:
Exception in thread "main" java.lang.ClassNotFoundException: myPackage.Main
at java.net.URLClassLoader$1.run(URLClassLoader.java:372)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:260)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:116)
Process finished with exit code 1
文件结构如下:
<git root>/src/myPackage/Main.java
我已将“src”文件夹设置为“源文件夹”。我的应用程序没有编译器错误。
我已经多次使缓存无效,但没有任何效果。
在我的模块设置中,我的模块依赖项包含 <Module source> 和 jdk 1.8。
我似乎在任何地方(谷歌)都找不到答案,对我来说,这个错误似乎与 IntelliJ 处理项目的方式有关。当我第一次提取项目时,src 文件夹尚未设置为源文件夹,这可能意味着我也可能错过了其他设置。
【问题讨论】:
-
git repo 是否包含 intellij 项目?如果是这样,那很可能是问题所在。通常,当您管理项目时,90% 的项目文件与代码无关,并且可能是特定于机器/操作系统的。最好 gitignore 项目文件并在每台开发人员机器上构建一个新项目。我建议删除项目(而不是代码)并创建一个新项目。然后 gitignore 所有的 intellij 文件,以避免将来发生这种情况
-
@ZackNewsham “项目”是什么意思? .idea 文件夹?
-
@yts 完全一样,所有 IDE 的 netbeans 都是一样的,但它是一个 nbproject。
-
我的意思是 .idea 文件夹,是的。正如 Zack 建议的那样,这个问题已通过替换项目文件得到解决。感谢您的帮助。
标签: java intellij-idea intellij-14