2014-12-01 5 views
5

Я получил проект IntelliJ от кого-то другого, но он не будет запускать даже самые простые классы для меня.ClassNotFoundException in IntelliJ IDEA

Как простой пример, следующий класс выбросит 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.

Я не могу найти ответ здесь (google) в любом месте, и мне кажется, что эта ошибка связана с тем, как IntelliJ обрабатывает проект. Когда я впервые вытащил проект, папка src НЕ была установлена ​​как исходная папка, что, вероятно, означает, что я могу упустить и другие настройки.

+2

Было ли git-репо с intellij проектом? Если это так, то это проблема. Обычно, когда вы управляете проектом, 90% файлов проекта не имеют отношения к коду и могут быть специфичными для машины/ОС. Лучше gitignore файлы проекта и построить новый проект на каждой машине разработчика. Я бы предложил удалить проект (а не код) и создать новый. Затем gitignore все intellij файлы, чтобы избежать этого в будущем –

+0

@ZackNewsham Что вы подразумеваете под «проектом»? Папка .idea? – yts

+0

@yts точно, то же самое для всех небедов IDE - это nbproject. –

ответ

1

Предложение Зака ​​Ньюшама помогло мне. Вот что я сделал:

  1. Исключен .iml файл
  2. File> New> Project, указанный в существующую папку с кодом
  3. завершена настройка проекта (Manifest, артефакты).

Теперь проект запускается.

Конечно, могут быть другие причины для ClassNotFound. Однако, когда все выглядит нормально или если ошибка возникает после того, как она работала до этого, попробуйте эти простые шаги.

+0

Пока вы на нем, вы должны добавить файлы проекта IntelliJ в проект .gitignore вашего проекта. См. Https://github.com/github/gitignore/blob/master/Global/JetBrains.gitignore – nasukkin

Смежные вопросы