11 poprawek dla błędu „Nie udało się utworzyć wirtualnej maszyny Java”.
Do dziś Java jest popularnym językiem programowania. Może i jest przestarzały, ale z biegiem czasu nie stracił swojej popularności i użyteczności. Nadal jest aktywnie rozwijany i jest używany przez wielu programistów. Regularnie opracowywane są zmiany i ulepszenia języka, ułatwiające kompilację i uruchamianie aplikacji opartych na Javie.
Czym jest Java w prostych słowach?
Java to szeroko stosowany język programowania, który może być używany w różnych systemach operacyjnych i urządzeniach. Ma wiele zastosowań, w tym tworzenie stron internetowych, aplikacje mobilne, aplikacje komputerowe i programowanie po stronie serwera.
Java tworzy maszynę wirtualną (VM) do uruchamiania kodu napisanego w tym języku. Jeśli coś pójdzie nie tak z danymi lub kodem przetwarzanym przez wirtualną maszynę Java, uruchomienie wirtualnej maszyny Java może się nie powieść.
Co to jest błąd maszyny wirtualnej Java?
Błąd wirtualnej maszyny Java, często nazywany błędem JVM, to typ błędu generowany przez wirtualną maszynę Java. Ten błąd zwykle oznacza, że komputer nie może odczytać lub zrozumieć kodu.
Ten błąd może wystąpić z różnych powodów, w tym gdy komputer nie ma zainstalowanych niezbędnych aktualizacji lub jest niezgodny z Javą. Niezwykle ważne jest, aby zrozumieć, jak rozwiązać problem z maszyną JVM, jeśli napotkasz ją podczas korzystania z komputera.
W ciągu ostatnich kilku dni dowiedzieliśmy się, że niektórzy klienci widzą komunikat o błędzie „Nie udało się utworzyć wirtualnej maszyny Java”. Z naszych badań wynika, że problem zwykle występuje, gdy użytkownik próbuje uruchomić program oparty na Javie.
Co powoduje błąd „Nie udało się utworzyć wirtualnej maszyny Java”?
Istnieje kilka warunków, które prowadzą do tego problemu:
- Java jest wykonywana z nieprawidłowymi argumentami lub opcjami: Gdy uruchamiasz program domowej roboty lub próbujesz otworzyć aplikację typu open source, o której wiadomo, że powoduje niestabilność systemu.
- Za mało globalnej maksymalnej pamięci sterty Java: Jedną z najczęstszych przyczyn tego problemu jest próba uruchomienia aplikacji Java z maksymalnym rozmiarem pamięci sterty większym niż określony w zmiennej systemowej.
- Poświadczenia administratora są wymagane dla pliku wykonywalnego i/lub programu Java: może się tak zdarzyć w przypadku aplikacji wymagających dostępu administratora do prawidłowego działania.
Jeśli próbujesz dowiedzieć się, jak rozwiązać problem „Nie można utworzyć wirtualnej maszyny Java”, w tym artykule znajdziesz kilka sprawdzonych rozwiązań. Poniżej znajduje się lista rozwiązań, które inne osoby w podobnym scenariuszu wykorzystały do rozwiązania swoich problemów.
Aby uzyskać najlepsze wyniki, wypróbuj poniższe rozwiązania w podanej kolejności, aż znajdziesz rozwiązanie, które sprawdzi się w Twojej konkretnej sytuacji.
Jak naprawić błąd maszyny wirtualnej Java?
Oto rozwiązania pozwalające naprawić błędy maszyny wirtualnej Java:
- Dodanie _JAVA_OPTIONS do zmiennych systemowych
- Otwieranie java.exe z uprawnieniami administratora
- Ponownie zainstaluj Javę
- Naprawianie błędów za pomocą kodu
- Edycja pliku Eclipse.ini
- Sprawdź kompatybilną wersję Java
- Zaktualizuj zmienne Path i Java Home Environment.
- Sprawdź argumenty uruchamiania
- Sprawdź składnię
- Sprawdź przydział pamięci
- Zwiększ alokację pamięci RAM dla JVM (Java Virtual Machine)
Rozważmy każde rozwiązanie osobno:
Rozwiązanie 1: Dodanie _JAVA_OPTIONS do zmiennych systemowych
Większość klientów, których dotyczy problem, była w stanie rozwiązać ten problem, zmieniając zmienną systemową Java o nazwie _JAVA OPTIONS na Xmx512M. To skutecznie określa globalny maksymalny rozmiar sterty pamięci dla Javy.
Spowoduje to wyeliminowanie komunikatów o błędach, ponieważ maksymalna wielkość pamięci sterty zdefiniowana w zmiennej systemowej jest większa niż maksymalna wielkość pamięci sterty ustawiona w uruchamianej aplikacji Java. Kilku klientów z tym samym problemem stwierdziło, że po wykonaniu poniższych instrukcji problem został całkowicie rozwiązany.
Aby zwiększyć globalny maksymalny rozmiar pamięci sterty, dodaj element _JAVA OPTIONS do zmiennych systemowych w następujący sposób:
1. Aby otworzyć okno dialogowe Uruchom, naciśnij klawisz Windows + R. Następnie, aby otworzyć stronę Właściwości systemu, wpisz sysdm.cpl i naciśnij Enter.
2. Kliknij kartę Zaawansowane i wybierz Zmienne środowiskowe na stronie Właściwości systemu.
3. Kliknij Nowy w polu Zmienne środowiskowe (pod Zmienne systemowe).
4. Ustaw nazwę zmiennej na _JAVA OPTIONS i zmienną na -Xmx512M w panelu Nowa zmienna systemowa, a następnie kliknij OK, aby zapisać zmiany.
5. Aby zmiany odniosły skutek, zamknij wszystkie wcześniej otwarte okna i uruchom ponownie komputer.
6. Przy następnym uruchomieniu otwórz program, który poprzednio wyświetlał błąd „Nie udało się utworzyć wirtualnej maszyny Java”, aby sprawdzić, czy działa poprawnie.
Jeśli po uruchomieniu programu nadal pojawia się ten sam komunikat o błędzie, spróbuj dodać ścieżkę Java Kosz do zmiennej środowiskowej, która może mieć postać „%\USER PATH\Java\jdk1.6.0_39\bin”.
Rozwiązanie 2 – Otwarcie java.exe z uprawnieniami administratora
Kilku osobom z tym samym problemem udało się go rozwiązać, wymuszając otwarcie głównego pliku wykonywalnego Java (java.exe) jako administrator.
Po zastosowaniu tej aktualizacji zarówno do głównego pliku wykonywalnego Java, jak i programu, który wyświetla komunikat o błędzie, kilku użytkowników zgłosiło, że problem został rozwiązany.
Oto krótki opis wszystkiego:
1. Przejdź do lokalizacji instalacji oprogramowania Java w Eksploratorze plików. Będziemy musieli przejść do głównej lokalizacji pliku wykonywalnego Java (java.exe).
Domyślnie powinien znajdować się w folderze Program Files/Java/*JRE build version*/bin. W zależności od używanego środowiska wykonawczego Java dokładna pozycja będzie się różnić.
2. Wybierz „Właściwości” z menu kontekstowego, klikając prawym przyciskiem myszy plik java.exe. Następnie w zakładce Zgodność wybierz „Uruchom to oprogramowanie jako administrator” i zaznacz pole (w Ustawieniach). Aby zapisać zmiany, kliknij Zastosuj.
3. Powtórz procedurę, klikając prawym przyciskiem myszy plik wykonywalny aplikacji (który spowodował błąd): Aplikacja > Zgodność > Uruchom to oprogramowanie jako administrator.
4. Sprawdź, czy powiadomienie o problemie zostało rozwiązane, uruchamiając program.
Niewystarczające uprawnienia administratora mogą również powodować problemy z wirtualną maszyną Java. W rezultacie niektórzy użytkownicy mogą potrzebować przyznać uprawnienia administratora Java.
Użytkownicy mogą przyznać dostęp administratora Java w systemie Windows 10, wykonując powyższe czynności.
Rozwiązanie 3: Ponowna instalacja oprogramowania Java
W niektórych przypadkach problem występuje, ponieważ Java została nieprawidłowo zainstalowana lub jej instalacja uległa uszkodzeniu w czasie. W rezultacie, po całkowitym odinstalowaniu Javy, w tym momencie zainstalujemy ją ponownie. Dla tego:
1. Aby wyświetlić monit Uruchom, naciśnij klawisze Windows + R i wpisz „Appwiz.cpl” lub przejdź bezpośrednio do panelu sterowania.
2. Po naciśnięciu Enter pojawi się ekran Programy i funkcje.
3. Przewiń listę zainstalowanych aplikacji na ekranie Programy i funkcje, aż znajdziesz Java.
4. Aby usunąć go z systemu, kliknij go prawym przyciskiem myszy i wybierz opcję Usuń.
5. Najpierw odinstaluj główną instalację Java, a następnie wszystkie dodatkowe instalacje Java, w tym aktualizacje i inne wersje.
6. Uruchom ponownie komputer po usunięciu całego oprogramowania.
7. Po ponownym uruchomieniu przejdź do tej strony i pobierz najnowsze środowisko JRE.
8. Sprawdź, czy wystąpił problem.
9. Jeśli problem będzie się powtarzał, przejdź tutaj, aby uzyskać i zainstalować najnowszą wersję pakietu JDK.
10. Jeśli korzystasz już z pakietu JDK, rozważ uaktualnienie do innej wersji lub usunięcie dołączonego do niego środowiska JRE.
Rozwiązanie 4: Napraw błędy w kodzie
Ten błąd może wystąpić z różnych powodów, w tym z pewnych błędów w kodzie. Przyjrzymy się niektórym z nich tutaj.
Usuń myślnik: niektórzy użytkownicy zgłosili, że zastąpienie podwójnego łącznika „-” w ich kodzie pojedynczym łącznikiem „-” rozwiązało problem. Rozważ następujący scenariusz:
Zmień kod:
“sony@sony-VPCEH25EN:~$ java –version
Picked up JAVA_TOOL_OPTIONS: -javaagent:/usr/share/java/jayatanaag.jar
Unrecognized option: –version
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. The program will exit.”
DO
“sony@sony-VPCEH25EN:~$ java -version
Picked up JAVA_TOOL_OPTIONS: -javaagent:/usr/share/java/jayatanaag.jar
Unrecognized option: –version
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. The program will exit.”
-Djava.endorsed.dirs=”C:\Program Files\Apache Software Foundation\Tomcat 8.5\zatwierdzony”
Upewnij się, że wpis „-vm” został dodany nad argumentami vm w pliku eclipse.ini. W przeciwnym razie env vars wybierze JVM V6.
Jeśli używasz Ubuntu, powinieneś wiedzieć, że obsługiwana jest tylko Java 8. W rezultacie zastosowane zostanie trzecie podejście. Zainstaluj starą wersję Java po odinstalowaniu bieżącej.
Rozwiązanie 5: edytowanie pliku Eclipse.ini
Aby rozwiązać ten problem, możemy wprowadzić zmiany w pliku Eclipes.ini. Podzieliliśmy to na różne problemy, ponieważ może istnieć kilka problemów z konfiguracją, które należy rozwiązać. Wybierz ten, który najlepiej pasuje do Twojej sytuacji.
Zmniejszone zużycie pamięci
1. Za pomocą notatnika otwórz plik Eclipse.ini w folderze Eclipse.
2. Poszukaj linii, która wygląda jak „-Xmx256m” (może to być -Xmx1024m lub -Xmx 512m).
3. Teraz, w zależności od ilości pamięci RAM zainstalowanej w komputerze, zmień domyślną ilość na bardziej rozsądną i dodaj numer wersji. Rozważ następujący scenariusz:
-Xmx512m
-Dosgi.requiredJavaVersion=1.6
OR
-Xmx512m
-Dosgi.requiredJavaVersion=1.7
OR
-Xmx512m
-Dosgi.requiredJavaVersion=1.8
4. Usuń liczbę „256m” z wiersza „-launcher.XXMaxPermSize”.
5. Sprawdź, czy problem występuje.
bawić się
1. Jeśli to możliwe, usuń następujące wiersze z pliku.
-vm P:\Programs\jdk1.6\bin
2. Zmień także następujące wiersze.
set -Dosgi.requiredJavaVersion=1.5
DO
set -Dosgi.requiredJavaVersion=1.6
3. Również nad linią „-vmargs!” spróbuj dodać następującą linię.
-vm C:\Program Files (x86)\Java\jre6\bin\javaw.exe
4. Użyj następującego wiersza, aby odnieść się do pliku JVM.dll.
-vm
C:\Program Files\Java\jre7\bin\client\jvm.dll
5. Zastąp „-vmargs” ścieżką do pliku javaw.exe w pliku Eclipse. Rozważ następujący scenariusz:
-startup
plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.200.v20120522-1813
-product
com.android.ide.eclipse.adt.package.product
--launcher.XXMaxPermSize
256M
-showsplash
com.android.ide.eclipse.adt.package.product
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
**-vm “c:\Program Files\Java\jdk1.7.0_07\bin\javaw.exe”**
-Dosgi.requiredJavaVersion=1.6
-Xms40m
-Xmx768m
-Declipse.buildId=v21.1.0-569685
6. Możesz także spróbować dodać następujący wiersz na końcu, aby sprawdzić, czy to pomoże.
-vmargs
-Xms40m
-Xmx512m
-XX:MaxPermSize=256m
7. Sprawdź także, czy usunięcie następujących wierszy z pliku eclipse.ini rozwiązuje problem.
-XX:+UseStringDeduplication
-XX:+UseG1GC
Jeśli problem będzie się powtarzał, możesz spróbować usunąć plik eclipse.ini, co wydaje się rozwiązać problem dla niektórych osób, ale wcześniej tworzy kopię zapasową na wypadek, gdybyś jej potrzebował. Ponadto przed uruchomieniem Javy upewnij się, że wszystkie energochłonne aplikacje są zamknięte, aby zapewnić dostępność wystarczających zasobów.
Sprawdzanie korupcji JDK
1. Aby uruchomić monit Uruchom, naciśnij Windows + R i wpisz cmd.
2. Sprawdź, czy poniższe polecenie zwraca błąd.
c:>\ java -version
3. Jeśli wystąpi problem, całkowicie ponownie zainstaluj pakiet JDK.
Rozwiązanie 6 – Sprawdź kompatybilną wersję Java
Gdy kod jest kompilowany w środowisku IDE, wyświetlany jest komunikat Nie powiodło się zbudowanie wirtualnej maszyny Java. Dzieje się tak dlatego, że IDE nie jest kompatybilne z wersją Java zainstalowaną na twoim komputerze.
Sprawdź, które wersje Java obsługuje Twoje IDE. Następnie określ, która wersja Java jest zainstalowana i porównaj ją z obsługiwaną wersją. Zainstaluj poprawną wersję, jeśli nie jest jeszcze zainstalowana.
Rozwiązanie 7 — Zaktualizuj zmienne środowiska domowego Path i Java
W systemie Windows 10 opcje Java ustawione w zmiennych środowiskowych mogą powodować błąd Nie udało się utworzyć wirtualnej maszyny Java.
1. Otwórz Eksplorator plików.
2. Skopiuj i wklej następujące elementy do powłoki eksploratora paska adresu:::{BB06C0E4-D293-4f75-8A90-CB05B6477EEE}
3. W lewym okienku wybierz Zaawansowane ustawienia systemu.
4. Wybierz opcję „Zaawansowane” z menu rozwijanego.
5. W sekcji Zmienne systemowe wybierz Zmienne środowiskowe, a następnie Nowy.
6. Wpisz _OPCJE JAVA w polu nazwy.
7. Wpisz -Xmx1024M w polu ścieżka/wartość.
8. Kliknij OK.
9. Uruchom ponownie aplikację.
Należy również dokładnie sprawdzić, czy dla pakietu Java SDK podano poprawną ścieżkę.
1. Przejdź do C:\Program Files w Eksploratorze plików\Java.
2. Otwórz folder wersji JDK, której chcesz użyć.
3. Ścieżka do folderu musi zostać skopiowana.
4. Zmienne w środowisku (patrz poprzednie kroki).
5. Wybierz JAVA HOME z menu zmiennych systemowych.
6. Wybierz Zmień.
7. Kliknij OK po wprowadzeniu skopiowanej ścieżki.
Rozwiązanie 8 – Sprawdź argumenty uruchamiania
Sprawdź ustawienia początkowe. Chociaż możesz mieć zainstalowaną poprawną wersję Java, opcje uruchamiania mogą zmienić wersję używaną do kompilacji. Jeśli wykonano uaktualnienie Java w miejscu, prawdopodobnie opcje uruchamiania nadal pochodzą z wcześniejszej wersji.
Rozwiązanie 9 – Sprawdź składnię
Upewnij się, że składnia jest poprawna dla wszystkich wprowadzonych opcji. Problem „Nie można utworzyć maszyny wirtualnej Java” może być spowodowany nawet najmniejszym błędem. Poszukaj dodatkowego myślnika lub niepoprawnie określonej wersji.
Rozwiązanie 10 — Sprawdź przydział pamięci
Niewystarczająca ilość pamięci przydzielonej do użytku jest jedną z głównych przyczyn problemu Nie udało się utworzyć wirtualnej maszyny Java.
1. Otwórz Eksplorator plików.
2. Przejdź do folderu C:\Program Files\Java.
3. Otwórz folder JDK z numerem zainstalowanej wersji.
4. Zlokalizuj i uruchom plik jvisualvm.exe.
5. Oprogramowanie zapewnia graficzny interfejs użytkownika do zarządzania pamięcią.
6. Zwiększ ilość pamięci i spróbuj ponownie.
Rozwiązanie 11 — Zwiększ alokację pamięci RAM dla JVM (Java Virtual Machine)
Aby wprowadzić te zmiany, musisz mieć uprawnienia administratora.
1. Naciśnij jednocześnie klawisz Windows i przycisk Pauza Przerwa.
2. W nowym oknie, które się pojawi, wybierz Zaawansowane ustawienia systemu.
3. Kliknij przycisk Zmienne środowiskowe u dołu wyświetlonego okna Właściwości systemu.
4. Pojawi się okno zmiennych środowiskowych. Kliknij przycisk Nowy w sekcji Zmienne systemowe.
5. Pojawi się okno nowej zmiennej systemowej. Uzupełnij luki odpowiednimi wartościami.
- _JAVA OPTIONS to nazwa zmiennej.
- -Xmx512M jest wartością zmienną.
6. Kliknij OK.
6. Kliknij przycisk OK w sekcji Zmienne środowiskowe.
Wniosek
Konfigurowanie środowiska programistycznego może zająć dużo czasu. Zanim zaczniesz pisać lub kompilować kod, musisz skonfigurować wiele rzeczy i spełnić wiele wymagań wstępnych. Te problemy nie są specyficzne dla języka Java; każdy język ma swój własny zestaw warunków wstępnych, które muszą zostać spełnione, zanim będzie można go używać.
Dodaj komentarz