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.


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.


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.


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.


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 :)


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.


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.


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.


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.


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}"]
}

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


0

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


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.


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.


0

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


0

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


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ć.


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 ” :)


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


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

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 ...”

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)


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 :)

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.