Poprawka: nie można utworzyć wirtualnej maszyny Java

Niektórzy użytkownicy napotykają błąd Nie można utworzyć wirtualnej maszyny języka Java podczas próby uruchomienia aplikacji korzystającej z języka Java. Zgłoszono, że ten konkretny problem występuje w przypadku Minecrafta i kilku innych aplikacji opartych na Javie.

Nie można utworzyć wirtualnej maszyny języka Java.  Błąd: wystąpił krytyczny wyjątek.  Program zostanie zamknięty.

Co powoduje błąd „Nie można utworzyć wirtualnej maszyny języka Java”?

Zbadaliśmy ten konkretny problem, przeglądając różne raporty użytkowników i strategie rozwiązywania problemów, których użyli do rozwiązania tego samego komunikatu o błędzie. Na podstawie ich wniosków istnieje kilka scenariuszy, które spowodują ten konkretny problem:

  • Java jest wywoływana przez niewłaściwe argumenty lub opcje - może się to zdarzyć, jeśli używasz aplikacji domowej roboty lub próbujesz otworzyć aplikację typu open source, o której wiadomo, że powoduje niestabilność systemu.
  • Globalna maksymalna pamięć sterty Java nie jest wystarczająco wysoka - jedną z najczęstszych przyczyn napotkania tego konkretnego błędu jest próba uruchomienia aplikacji Java z maksymalną wielkością pamięci sterty większą niż ustawiona jako zmienna systemowa .
  • Plik wykonywalny Java i / lub aplikacja wymagają uprawnień administratora - może się to zdarzyć w przypadku aplikacji, które wymagają dostępu administratora do prawidłowego działania.

Jeśli obecnie szukasz sposobu na rozwiązanie błędu „ Nie można utworzyć wirtualnej maszyny języka Java” , w tym artykule znajdziesz kilka zweryfikowanych strategii rozwiązywania problemów. Poniżej znajduje się zbiór metod, których używali inni użytkownicy w podobnej sytuacji, aby rozwiązać problem.

Aby zapewnić najlepsze wyniki, postępuj zgodnie z poniższymi metodami w podanej kolejności, dopóki nie znajdziesz metody, która jest skuteczna w usuwaniu błędu w konkretnym scenariuszu.

Metoda 1: dodanie _JAVA_OPTIONS do zmiennych systemowych

Większości użytkowników, których dotyczy problem, udało się rozwiązać problem, tworząc zmienną systemową dla języka Java o nazwie _JAVA_OPTIONS i ustawiając jej wartość na Xmx512M . To, co to zasadniczo robi, to ustawienie globalnego maksymalnego rozmiaru pamięci sterty dla języka Java.

Spowoduje to rozwiązanie każdego komunikatu o błędzie, który pojawia się, ponieważ maksymalna wielkość pamięci sterty uruchomionej aplikacji Java jest większa niż ta ustawiona jako zmienna systemowa. Kilku użytkowników napotykających ten sam problem zgłosiło, że problem został całkowicie rozwiązany po wykonaniu poniższych czynności.

Oto, co musisz zrobić, aby dodać wpis _JAVA_OPTION S w zmiennych systemowych, aby powiększyć globalny maksymalny rozmiar pamięci sterty:

  1. Naciśnij klawisz Windows + R, aby otworzyć okno dialogowe Uruchom . Następnie wpisz „ sysdm.cpl ” i naciśnij klawisz Enter, aby otworzyć ekran Właściwości systemu .
  2. Na ekranie Właściwości systemu przejdź do zakładki Zaawansowane i kliknij Zmienne środowiskowe.
  3. W oknie Zmienne środowiskowe kliknij Nowa (w Zmienne systemowe ).
  4. W oknie Nowa zmienna systemowa ustaw nazwę zmiennej na _JAVA_OPTIONS, a wartość zmiennej na - Xmx512M i kliknij OK, aby zapisać zmiany.
  5. Zamknij wcześniej otwarte okna i uruchom ponownie komputer, aby wymusić zmiany.
  6. Przy następnym uruchomieniu otwórz aplikację, która poprzednio wyświetlała błąd Nie można utworzyć wirtualnej maszyny języka Java i sprawdź, czy teraz działa poprawnie.
Utworzenie zmiennej systemowej o nazwie _JAVA_OPTIONS i przypisanie jej wartości Xmx512M

Jeśli nadal widzisz ten sam komunikat o błędzie na początku aplikacji, spróbuj dodać ścieżkę Java Bin, która może być podobna do „% \ USER PATH \ Java \ jdk1.6.0_39 \ bin” do zmiennej środowiskowej, jak wskazano w powyższa metoda i sprawdź, czy to działa.

Metoda 2: Otwarcie pliku java.exe z uprawnieniami administratora

Kilku użytkownikom mającym trudności z rozwiązaniem tego samego problemu udało się go rozwiązać po wymuszeniu otwarcia głównego pliku wykonywalnego Java (java.exe) z uprawnieniami administratora.

Niektórzy użytkownicy zgłaszali, że byli w stanie rozwiązać problem po zastosowaniu tej poprawki zarówno w głównym pliku wykonywalnym java, jak i pliku wykonywalnym aplikacji, która wyświetla komunikat o błędzie.

Oto krótki przewodnik po całej sprawie:

  1. Otwórz Eksploratora plików i przejdź do lokalizacji instalacji Java. Musimy dotrzeć do lokalizacji głównego pliku wykonywalnego Java ( java.exe ). Domyślnie powinieneś znaleźć go w Program Files / Java / * Wersja kompilacji JRE * / bin. Dokładna lokalizacja będzie się różnić w zależności od używanego środowiska Java Runtime Environment.Przejdź do lokalizacji java.exe

    Uwaga: jeśli zainstalowałeś Javę w lokalizacji niestandardowej, przejdź do lokalizacji niestandardowej.

  2. Kliknij prawym przyciskiem myszy java.exe i wybierz Właściwości . Następnie przejdź do zakładki Zgodność i zaznacz pole związane z Uruchom ten program jako administrator (w Ustawieniach). Kliknij Zastosuj, aby zapisać zmiany.przejdź do zakładki Zgodność i włącz opcję Uruchom ten program jako administrator
  3. Kliknij prawym przyciskiem myszy plik wykonywalny aplikacji (ten, który powoduje błąd) i powtórz tę samą procedurę: Zgodność> Uruchom ten program jako administrator> Zastosuj .
  4. Uruchom aplikację i sprawdź, czy komunikat o błędzie został rozwiązany.

Metoda 3: Ponowna instalacja oprogramowania Java

W niektórych przypadkach błąd jest wywoływany, ponieważ Java może nie zostać poprawnie zainstalowana lub jej instalacja mogła z czasem ulec uszkodzeniu. Dlatego na tym etapie ponownie zainstalujemy Javę po całkowitym odinstalowaniu. Za to:

  1. Naciśnij klawisz Windows + R, aby otworzyć monit Uruchom i wpisz „Appwiz.cpl”.
  2. Naciśnij „Enter”, a otworzy się ekran Programy i funkcje.
  3. Na ekranie Programy i funkcje przewiń listę zainstalowanych aplikacji, aż znajdziesz Java.
  4. Kliknij go prawym przyciskiem myszy i wybierz „Odinstaluj”, aby całkowicie usunąć go z systemu
  5. Najpierw usuń podstawową instalację Java, a później usuń również wszystkie inne instalacje Java, takie jak aktualizacje i inne wersje.
  6. Po odinstalowaniu całej instalacji uruchom ponownie komputer.
  7. Po uruchomieniu kliknij ten link i pobierz najnowszą wersję środowiska JRE.
  8. Sprawdź, czy problem nadal występuje.
  9. Jeśli błąd nadal występuje, pobierz i zainstaluj najnowszą wersję JDK stąd.

    Uwaga: jeśli używasz już JDK, spróbuj zmienić jego wersje lub odinstalować JRE, które zostało zainstalowane wraz z nim.

  10. Sprawdź, czy problem nadal występuje.

Metoda 4: Naprawianie błędów za pomocą kodu

Istnieją różne przyczyny tego błędu, a niektóre z nich obejmują konkretne błędy w kodzie. Podkreślimy niektóre poniżej.

  • Usuń myślnik : Niektórzy użytkownicy zauważyli, że błąd został naprawiony poprzez zmianę podwójnego łącznika „-” na pojedynczy „-” w ich kodzie. Na przykład:

    Zmień kod

    „Sony @ sony-VPCEH25EN: ~ $ java –version

    Odebrano JAVA_TOOL_OPTIONS: -javaagent: /usr/share/java/jayatanaag.jar

    Nierozpoznana opcja: –wersja

    Błąd: nie można utworzyć wirtualnej maszyny języka Java.

    Błąd: wystąpił krytyczny wyjątek. Program zostanie zamknięty."

    Do

    „Sony @ sony-VPCEH25EN: ~ $ java -version

    Odebrano JAVA_TOOL_OPTIONS: -javaagent: /usr/share/java/jayatanaag.jar

    Nierozpoznana opcja: –wersja

    Błąd: nie można utworzyć wirtualnej maszyny języka Java.

    Błąd: wystąpił krytyczny wyjątek. Program zostanie zamknięty."

  • Spróbuj również usunąć następujący wiersz z argumentu

    -Djava.endorsed.dirs = „C: \ Program Files \ Apache Software Foundation \ Tomcat 8.5 \ endorsed”

  • Otwórz plik eclipse.ini i upewnij się, że dodałeś wpis „-vm” nad argumentami maszyny wirtualnej, w przeciwnym razie w zmiennej env zostanie wybrana maszyna JVM V6.
  • Jeśli masz system Ubuntu, powinieneś wiedzieć, że Java 8 jest jedyną obsługiwaną wersją. Dlatego używając trzeciej metody. Odinstaluj Javę i zainstaluj poprzednią wersję.

Metoda 5: Edycja pliku Eclipse.ini

We can also tweak things inside the Eclipes.ini File to get rid of this issue. There might be a couple of issues with its configuration that need to be addressed therefore, we have divided it into separate issues. Follow the one which suits your scenario the best.

Lowering Memory Use

  1. Open the Eclipse.ini file inside the Eclipse folder with notepad.
  2. Find the line similar to “-Xmx256m” (It might be -Xmx1024m or -Xmx 512m).
  3. Now change the default value to a more reasonable figure depending upon the RAM installed on your computer and add the version number to it as well. For Example:
    -Xmx512m -Dosgi.requiredJavaVersion=1.6 OR -Xmx512m -Dosgi.requiredJavaVersion=1.7 OR -Xmx512m -Dosgi.requiredJavaVersion=1.8
  4. Also, try removing the “256m” value from the “-launcher.XXMaxPermSize” line.
  5. Check to see if the issue persists.

Tinkering Around

  1. Try to remove the following lines from your file.
    -vm P:\Programs\jdk1.6\bin
  2. Also, change the following lines.
    set -Dosgi.requiredJavaVersion=1.5 TO set -Dosgi.requiredJavaVersion=1.6
  3. Also, try adding the following line above “-vmargs!” line.
    -vm C:\Program Files (x86)\Java\jre6\bin\javaw.exe
  4. Also, point to JVM.dll using the following line.
    -vm C:\Program Files\Java\jre7\bin\client\jvm.dll
  5. Open the Eclipse file and replace “-vmargs” with the path of javaw.exe. For Example:
    -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. Also, you can place the following line at the end and check if that works.
    -vmargs -Xms40m -Xmx512m -XX:MaxPermSize=256m
  7. Furthermore, try removing the following lines from the eclipse.ini and check if that works.
    -XX:+UseStringDeduplication -XX:+UseG1GC
  8. Możesz także spróbować usunąć plik eclipse.ini, jeśli problem nadal występuje, ponieważ podobno rozwiązało to problem w niektórych przypadkach, ale pamiętaj, aby najpierw wykonać jego kopię zapasową na wypadek, gdyby była potrzebna. Spróbuj także zamknąć wszystkie aplikacje wymagające dużej mocy, zanim uruchomisz Javę, aby upewnić się, że dostępne są odpowiednie zasoby.

Sprawdzanie korupcji JDK

  1. Naciśnij „Windows” + „R”, aby otworzyć okno Uruchom i wpisz „cmd”.
  2. Wpisz następujące polecenie i sprawdź, czy powoduje to błąd.
    c: \> java -version
  3. Jeśli wystąpi błąd, zainstaluj ponownie pakiet JDK.