Nie można uruchomić zaćmienia - nie znaleziono maszyny wirtualnej Java

97

Eclipse działało wczoraj dobrze (i było tak, odkąd go zainstalowałem około rok temu). Teraz nagle pojawia się następujący błąd podczas uruchamiania:

"A Java Runtime Environment (JRE) or Java Development Kit (JDK) must be available in order to run Eclipse. No Java virtual machine was found after searching the following locations:
C:\Program Files\eclipse\jre\bin\javaw.exe
javaw.exe in your current PATH"

Nie zmieniłem niczego związanego z Eclipse / Javą na moim komputerze, ale aktualizacja systemu Windows została wczoraj zastosowana na moim komputerze, więc może to ma z tym coś wspólnego (ale nie widzę niczego, co wpłynęłoby na Javę). Przejrzałem wszystkie inne posty o dodaniu czegoś do swojej PATH lub dodaniu opcji -vm do Eclipse ini (nie mogłem tego uruchomić) lub skopiowaniu folderu jre do eclipse \ jre (to zadziałało, ale nie wydaje się dobrym rozwiązaniem długoterminowym). Więc naprawdę próbuję wymyślić, jak przywrócić „domyślną” konfigurację bez robienia bałaganu.

biegnę Windows 7, Eclipse Helios and Java 1.6.0_26.

NullReference
źródło
najlepszym i najłatwiejszym sposobem na to jest przeinstalowanie javy i ustawienie ścieżki na zaćmienie
Manoj Kumar
Nambari - Czy jest jakiś powód, dla którego zmienna JAVA_HOME nagle zniknęła? EDYCJA: właśnie próbowałem ustawić zmienną env JAVA_HOME i nadal otrzymuję błąd podczas uruchamiania zaćmienia.
NullReference
2
@Nambari "Eclipse NIE sprawdza zmiennej środowiskowej JAVA_HOME." FAQ
StellarVortex
Wystarczy ustawić zmienne środowiskowe JAVA_HOME i PATH.
Pavan Pyati

Odpowiedzi:

208

Dwa sposoby obejścia tego problemu.

Uwaga : Eclipse NIE sprawdza zmiennej środowiskowej JAVA_HOME.

Ajay George
źródło
1
Dziwne - próbowałem wczoraj dodać -vm do eclipse.ini około 50 razy i nie mogłem go uruchomić. Teraz nagle to działa. Dzięki, że zmusiłeś mnie do ponownej próby. Kontynuacja: zgadnij, dlaczego przestało działać? Jak to działało przed dodaniem -vm do ini?
NullReference
2
Jeśli maszyna JVM jest zainstalowana w katalogu eclipse / jre, Eclipse użyje jej, w przeciwnym razie program uruchamiający sprawdzi plik eclipse.ini i zmienną ścieżki systemowej. Najprawdopodobniej twoja PATH została schrzaniona po aktualizacji.
Ajay George
13
-vm musi być pierwszym wpisem w pliku eclipse.ini
gath
2
@Marjeta eclipse.iniznajduje się w folderze instalacyjnym eclipse.
Ajay George
5
Kolejna wskazówka, dodanie „-vm” nie działało, gdy dodawałem go na końcu pliku eclipse.ini. W końcu dodałem go na początek pliku i zadziałało.
Gary,
15

Upewnij się, że zarówno wersja Java, jak i Eclipse należą do tej samej architektury, więc zainstaluj 64-bitową Javę dla 64-bitowego Eclipse.

user1484626
źródło
To rozwiązało problem. Określanie maszyny wirtualnej lub ścieżki nie wydaje się konieczne, a jedynie kłopot podczas aktualizacji.
StellarVortex
12

eclipse.ini:

--launcher.defaultAction  
--launcher.XXMaxPermSize  
256M  
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize<br/>
256m  
--launcher.defaultAction  
openFile  
-showsplash  
org.eclipse.platform
-vm
C:\Program Files\Java\jdk1.7.0_21\jre\bin\server\jvm.dll<br/>
--launcher.XXMaxPermSize  
256m  
--launcher.defaultAction  
openFile  
-vmargs  
-Dosgi.requiredJavaVersion=1.7  

To zadziałało dla mnie. Nie musi być na początku, ale z pewnością nie może znajdować się na końcu pliku.

yeaaaahhhh..hamf hamf
źródło
Flaga maszyny wirtualnej oznaczała, że ​​plik jvm.dll został zastąpiony plikiem javaw.exe. Dzięki!
gerardnico
Próbowałem zarówno javaw.exe, jak i jvm.dll; oba są 32-bitowe i nadal mają to wyskakujące
okienko
9

W moim przypadku brakowało mi kilku rzeczy. Nie zainstalowałem JDK i JRE w wersji 64-bitowej, podczas gdy wersja eclipse była w wersji 64-bitowej. Po zakończeniu i ustawieniu ścieżki JDK \ bin w zmiennej PATH zaćmienie działało dobrze :)

Wahib Ul Haq
źródło
2
duh! zainstalowałem 32-bitową Javę i 64-bitowe zaćmienie. moja twarz jest czerwona.
Bill Turner
8

Otwórz eclipse.iniplik opróczeclipse.exe

pasta

-vm
C:\Program Files\Java\jdk1.7.0_21\jre\bin\server\jvm.dll 
 //find it if you are having another JDK version.

w pierwszej linii. I jesteś gotowy.

AndroidGeek
źródło
6

Miałem ten sam problem po aktualizacji java. Następnie wklejam

-vm
C:\Program Files\Java\jre6\bin\javaw.exe

pokazać ścieżkę javaw.exew eclipse.inipliku.

Mam nadzieję, że to ci pomoże.

Rasel
źródło
2
Tak, głosowałem za twoją odpowiedzią. Upewnij się również, że trzymasz go na górze ini!
ND27
3

Miałem ten sam problem. W moim przypadku był to program, który zainstalowałem, który zniszczył zmienną PATH env.

więc sprawdź zmienną środowiskową PATH.

skvalen
źródło
2

Pierwszy

sprawdź, czy masz zarówno 32-bitową, jak i 64-bitową instalację Java

Ustawianie ścieżki w systemie Windows

Windows 8

Przeciągnij wskaźnik myszy do prawego dolnego rogu ekranu

Kliknij ikonę Szukaj i wpisz: Panel sterowania

Kliknij -> Panel sterowania -> System -> Zaawansowane

Kliknij Zmienne środowiskowe, w sekcji Zmienne systemowe znajdź PATH i kliknij na nią.

W oknach Edycji zmodyfikuj PATH, dodając lokalizację klasy do wartości PATH, lub po prostu upewnij się, że nazwa zmiennej jest zapisana WIELKIMI LITERAMI

Jeśli nie masz elementu PATH, możesz dodać nową zmienną i dodać PATH jako nazwę i lokalizację klasy jako wartość.

Zamknij okno.

Otwórz ponownie okno wiersza polecenia i uruchom kod java.

Pascal
źródło
1

Przez instalację Puppet ATG Centos.

BŁĄD:

Nie można znaleźć żadnej maszyny wirtualnej Java w Twojej PATH

ROZWIĄZANIE:

Deklaracja zmiennej :

$ java_home = "/ opt / oracle / product / java / jdk1.8.0_45 / bin"

Dodaj to Java Exec „{$ java_home}”

require common, java
Exec {
    path => [ "${java_home}", "/usr/bin", "/bin", "/usr/sbin", "${temp_directory}"]
}
Guna Sekaran
źródło
1

Po ustawieniu ścieżki Java, jeśli nie możesz otworzyć swojego zaćmienia, wykonaj następujące czynności:

  1. Przejdź do folderu Eclipse, w którym wyodrębniłeś swoje zaćmienie.

wprowadź opis obrazu tutaj

  1. Otwórz plik Eclipse w notatniku (domyślnie otworzy się w notatniku)

Wprowadź dwie linie

-vm
C:/Program Files/Java/jdk-11.0.2/bin/javaw.exe

jdk-11.0.2, Powinna to być Twoja wersja Java, którą otrzymasz z powyższej lokalizacji.

wprowadź opis obrazu tutaj

Abhishek kumar
źródło
0

Spróbuj pobrać i zainstalować 32-bitową wersję oprogramowania Java, a następnie ustawić ścieżkę :)

Lukas
źródło
0

Tak, to mi się teraz przytrafiło. Przejdź do witryny Oracle i wyszukaj Java SDK. Upewnij się, że używasz tej samej architektury (x86, x64) co Eclipse.

alansiqueira27
źródło
0

Mnie też się to przytrafiło. I znalazłem plik javaw.exe w C: \ Windows \ System32 został usunięty po aktualizacji systemu Windows. Skopiowane jeszcze raz i Eclipse zaczęło wszystko dobrze.

Toksyczny mózg
źródło
0

Sprawdź system operacyjny, zaćmienie i java, czy jest to wersja 32- czy 64-bitowa

Shan
źródło
0

możesz także skopiować folder JRE do katalogu eclipse i będzie on działał poprawnie

RayanFar
źródło
0

Problem wystąpił na moim komputerze, ponieważ wersja Java została zaktualizowana (66 z 60). Zwróć na to szczególną uwagę. Jak wspomniano powyżej, chciałbym dodać

W tym pliku eclipse.ini , który jest dostępny tam, gdzie zainstalowałeś eclipse, wyszukaj wiersz poniżej -vm przykład C: \ Program Files \ Java \ jre1.8.0_ 66 \ bin

teraz spróbuj otworzyć tę lokalizację, jeśli nie możesz otworzyć, oznacza to, że jest jakiś problem. W moim przypadku zainstalowana wersja to jre1.8.0_ 60 . Wystąpiła więc niewielka różnica, która może nie być zauważalna (66 zamiast 60). Zaktualizuj go, aby móc otworzyć.

Gaurav khurana
źródło
0

Wczoraj natknąłem się na ten sam problem, z poprawnie skonfigurowaną ścieżką itp. Można go otworzyć z wiersza poleceń, teraz wystarczy kliknąć dwukrotnie.

I teraz działało, po prostu „ Uruchom jako administrator ” :)

Yi Ming
źródło
0

Czasami dzieje się tak, gdy folder Java zostanie zaktualizowany.

Otwórz folder Eclipse i wyszukaj plik eclipse.ini. Otwórz plik eclipse.ini i sprawdź, czy wersja jre jest taka sama jak jre dostępna w folderze java.

Napotkałem ten sam problem, gdy mój jre został zmieniony z jre1.8.0_101 na jre1.8.0_111.

C: \ Program Files \ Java \ jre1.8.0_101 \ bin do C: \ Program Files \ Java \ jre1.8.0_111 \ bin

prashant
źródło
0

W moim przypadku problem polegał na tym, że ścieżka została ujęta w cudzysłów ("):

-vm 
"C:\Program Files\Java\jdk1.8.0_25\bin"

Usunięcie ich rozwiązało problem:

-vm 
C:\Program Files\Java\jdk1.8.0_25\bin
Sonata
źródło
0

Moim rozwiązaniem jest uwzględnienie katalogu „bin” JDK w PATH

Aby edytować PATHzmienną środowiskową w programieWindows 7/8/10:

  1. Uruchom „Panel sterowania” ⇒ (Opcjonalnie) System i zabezpieczenia ⇒ System ⇒ Kliknij „Zaawansowane ustawienia systemu” w lewym panelu.
  2. Przejdź do zakładki „Zaawansowane” ⇒ Naciśnij przycisk „Zmienne środowiskowe”. W „Zmienne systemowe” (dolny panel) przewiń w dół i wybierz „Ścieżka” ⇒ Kliknij „Edytuj ...”.
  3. Skopiuj katalog bin JDK z folderu JAVA i wklej do „Edytuj ...”
John Joe
źródło
0

Na Centos 7 naprawiłem ten problem (po dużym yum upgrade), zmieniając moje ustawienia dla vm:

~/eclipse/java-oxygen/eclipse/eclipse.ini

do:

-vm
/etc/alternatives/jre/bin

(co zawsze będzie wskazywać na najnowszą zainstalowaną wersję java)

Stuart Cardall
źródło
0

powinieneś zmienić ścieżkę jdk w eclipse.ini tutaj:

/Users/you_username/eclipse/jee-photon/Eclipse.app/Contents/Eclipse/eclipse.ini

po ponownym uruchomieniu zaćmienia :)

Walterwhites
źródło