2014-12-01 25 views
5

Otrzymałem projekt IntelliJ od kogoś innego, ale nie uruchomi on nawet najprostszych klas dla mnie.Wyjątek ClassNotFoundException w IntelliJ IDEA

Jako szybki przykład poniższa klasa rzuci ClassNotFoundException bez błędów kompilatora:

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); 
    } 
} 

to rzuci się następujący błąd:

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 

Struktura pliku jest następująca: <git root>/src/myPackage/Main.java

Ustawiłem folder "src" jako "folder źródłowy". Moja aplikacja nie ma błędów kompilatora. Kilka razy unieważniłem pamięci podręczne, ale bez żadnego efektu. W moich ustawieniach modułu moje zależności modułów zawierają <Module source> i jdk 1.8.

Nie mogę znaleźć odpowiedzi tutaj (google) w dowolnym miejscu, i wydaje mi się, że ten błąd ma związek ze sposobem, w jaki IntelliJ obsługuje projekt. Kiedy po raz pierwszy wyciągnąłem projekt, folder src NIE został ustawiony jako folder źródłowy, co prawdopodobnie oznacza, że ​​mogę również przegapić inne ustawienia.

+2

Czy repozytorium git zawierało projekt intellij? Jeśli tak, to jest prawdopodobny problem. Zazwyczaj podczas zarządzania projektem 90% plików projektu nie ma związku z kodem i może być specyficzne dla komputera/os. Lepiej zignorować pliki projektu i zbudować nowy projekt na każdym komputerze programisty. Sugerowałbym usunięcie projektu (nie kodu) i utworzenie nowego. Następnie gitignore wszystkie pliki intellij, aby uniknąć tego w przyszłości –

+0

@ZackNewsham Co masz na myśli przez "projekt"? Folder .idea? – yts

+0

@yts dokładnie, to samo dla wszystkich netbeans IDE jest nbproject choć. –

Odpowiedz

1

Pomógł mi pomysł Zacka Newshama. Oto co zrobiłem:

  1. Deleted .iml złożyć
  2. File> New> Project, określony istniejący folder z kodem
  3. wypełniony konfiguracji projektu (Oczywista, artefakty).

Teraz projekt jest uruchomiony.

Oczywiście mogą być inne powody, dla których ClassNotFound. Jednak gdy wszystko wydaje się być w porządku lub jeśli błąd pojawia się po wcześniejszym użyciu, spróbuj wykonać te proste czynności.

+0

W trakcie pracy należy dodać pliki projektu IntelliJ do pliku .gitignore projektu. Zobacz https://github.com/github/gitignore/blob/master/Global/JetBrains.gitignore – nasukkin