2015-04-16 12 views
5

Próbuję uruchomić aplikację java i otrzymuję następujący błąd,Nie można znaleźć com.sun.tools.javac.Main javac kompilator nie znajduje się na ścieżce klasy błędu

Nie można znaleźć kompilatora javac ; com.sun.tools.javac.Main nie znajduje się na ścieżce klasowej . Może JAVA_HOME nie wskazuje na JDK

I już przez wiele tak pytania i znaleźć rozwiązanie jest JAVA_HOME powinien być punkt do JDK, nie JRE.

Potem próbowałem wydrukować JAVA_HOME w wierszu polecenia

enter image description here

miałem ustawić JAVA_HOME z mojego komputerowo> Ustawienia-> zmienne env -> System vars jak poniżej,

enter image description here

ja również dodać nową zmienną w Eclipse przy użyciu preferencje,

enter image description here

I w końcu wciąż mam ten sam błąd. Co jest nie tak z JAVA_HOME?

Aktualizacja:

W eclipse-preferences-installed jres jest tylko jedno wejście jest obecny i który jest jdk i wybraniu

enter image description here

A pod project propertiesjava build path - libraries jest JRE System Liberary [jdk1.8.0_31] służy .

enter image description here

Aktualizacja 1:

C:\Program Files\Java\jdk1.8.0_31 mieć folder o nazwie jre. Czy to jest ten folder jre powodujący ten problem? Czy mogę usunąć ten folder? Czy istnieje jakikolwiek sposób dodania w projekcie tylko Liberatora jdk?

+0

Proszę sprawdzić, czy po ustawieniu zmiennych uruchomiono nową konsolę? Jeśli to była nowa konsola, niż dla mnie wszystko inne wygląda na czyste i poprawne, sugeruję odinstalowanie i ponowne zainstalowanie java? Czasami są błędy instalacji. Użyj pliku .msi lub .exe, aby zainstalować, a nie skopiować wklejanie folderu. – aProgrammer

Odpowiedz

7

Eclipse to IDE i jako taki ma (przynajmniej) dwie wersje Javy: tę, której używa do uruchomienia (JAVA_HOME) i JVM, której używa do uruchamiania aplikacji. Te dwie rzeczy nie muszą być takie same.

Aby rozwiązać problem, należy zapoznać się z preferencjami Eclipse, w szczególności pod numerem Installed JREs, który zawiera listę maszyn wirtualnych Java, których Eclipse użyje do uruchomienia kodu Java z projektów. Domyślam się, że będzie tam kilka wpisów, a domyślny będzie JRE zamiast JDK.

Upewnij się, że masz JDK na liście, a następnie przejdź do swojego projektu. W projekcie możesz wybrać maszynę Java VM, która ma być używana pod Java Build Path ->Libraries.

[EDIT] przyjrzeniu się ostatnim screenie: Eclipse zostało skonfigurowane do korzystania C:\Program Files\Java\jdk1.8.0_31\jre co oznacza, że ​​już wskazał na JRE wewnątrz JDK. Zamiast tego użyj C:\Program Files\Java\jdk1.8.0_31 (bez końcówki \jre).

[EDIT 2] Jeśli usuniesz folder jre, Java przestanie działać. Dowolny pakiet JDK zawiera również środowisko JRE. JRE zawiera rt.jar z String.class i tym podobne. Kompilator Java znajduje się w JDK pod numerem tools.jar.

Jeśli ponowne utworzenie wpisu JRE w Eclipse nie pomoże, konieczne będzie ręczne dodanie go do ścieżki klasy.

Możesz użyć zmiennej ("Dodaj zmienną ..."), aby upewnić się, że Eclipse zaktualizuje ścieżkę po przejściu do nowego/innego środowiska JRE. Wypróbuj JAVA_HOME z rozszerzeniem lib/tools.jar

+0

proszę zobaczyć zaktualizowane pytanie. – fledgling

+1

Zobacz moje edycje; Wybrałeś środowisko JRE w JDK. –

+0

Proszę zobaczyć zaktualizowane pytanie. – fledgling

Powiązane problemy