Поправка: Не можах да създам виртуалната машина Java

Някои потребители се сблъскват с грешката „ Не може да се създаде Java Virtual Machine“, когато се опитват да стартират приложение, което използва Java. Съобщава се, че този конкретен проблем възниква с Minecraft и няколко други приложения, изградени около Java.

Не може да се създаде Java Virtual Machine.  Грешка: Възникна фатално изключение.  Програмата ще излезе.

Какво причинява грешката Не може да създаде Java Virtual Machine?

Проучихме този конкретен проблем, като разгледахме различни потребителски отчети и стратегиите за отстраняване на неизправности, които те използваха за разрешаване на едно и също съобщение за грешка. Въз основа на техните заключения има няколко сценария, които ще задействат този конкретен проблем:

  • Java се извиква от грешни аргументи или опции - Това може да се случи, ако използвате домашно приготвено приложение или се опитвате да отворите приложение с отворен код, за което е известно, че причинява нестабилност на системата.
  • Максималната памет на Java в купчина не е достатъчно висока - Една от най-честите причини, поради които можете да срещнете тази конкретна грешка, е, ако се опитате да стартирате Java приложение с максимален размер на паметта на купчина, по-голям от този, зададен като системна променлива .
  • Изпълнимите и / или приложенията на Java изискват административни привилегии - Това може да се случи с приложения, които се нуждаят от администраторски достъп, за да функционират правилно.

Ако в момента търсите начин за разрешаване на грешката „ Не можах да създам виртуалната машина Java“ , тази статия ще ви предостави няколко проверени стратегии за отстраняване на неизправности. По-долу имате колекция от методи, които други потребители в подобна ситуация са използвали, за да разрешат проблема.

За да осигурите най-добри резултати, следвайте методите по-долу в реда, в който са представени, докато не откриете метод, който е ефективен за разрешаване на грешката за вашия конкретен сценарий.

Метод 1: Добавяне на _JAVA_OPTIONS към системни променливи

Повечето засегнати потребители са успели да разрешат проблема, като са създали системна променлива за Java, наречена _JAVA_OPTIONS, и са задали стойността му на Xmx512M . Това, което по същество прави, е да зададе глобалния максимален размер на паметта за Java за Java.

Това ще разреши всяко съобщение за грешка, което възниква, защото максималният размер на паметта на стартираното Java приложение е по-голям от този, зададен като системна променлива. Няколко потребители, срещащи един и същ проблем, съобщават, че проблемът е разрешен изцяло след като са изпълнили стъпките по-долу.

Ето какво трябва да направите, за да добавите запис _JAVA_OPTION S в системните променливи, за да увеличите глобалния максимален размер на паметта на купчината:

  1. Натиснете клавиша Windows + R, за да отворите диалоговия прозорец Изпълнение . След това въведете “ sysdm.cpl ” и натиснете Enter, за да отворите екрана на System Properties .
  2. В екрана Свойства на системата отидете в раздела Разширени и кликнете върху Променливи на околната среда.
  3. В прозореца на променливата на околната среда щракнете върху New (под System Variables ).
  4. Вътре в прозореца Нова системна променлива задайте името на променливата на _JAVA_OPTIONS и стойността на променливата на - Xmx512M и щракнете върху Ok, за да запазите промените.
  5. Затворете предварително отворените прозорци и рестартирайте машината, за да наложите промените.
  6. При следващото стартиране отворете приложението, което преди това ви показва грешката Could Not Create the Java Virtual Machine и вижте дали сега функционира правилно.
Създаване на системна променлива, наречена _JAVA_OPTIONS, и присвояване на стойността Xmx512M

Ако все още виждате същото съобщение за грешка в началото на приложението, опитайте да добавите пътя на Java Bin, който може да е подобен на „% \ USER PATH \ Java \ jdk1.6.0_39 \ bin“ към променливата на средата, както е посочено в горния метод и вижте дали това работи.

Метод 2: Отваряне на java.exe с администраторски права

Няколко потребители, които се борят да разрешат същия проблем, са успели да разрешат проблема, след като са принудили основния изпълним файл на Java (java.exe) да се отвори с административни привилегии.

Някои потребители съобщиха, че са успели да разрешат проблема след прилагане на тази корекция както на основния изпълним файл на Java, така и на изпълнимия файл на приложението, което показва съобщението за грешка.

Ето кратко ръководство през цялото нещо:

  1. Отворете File Explorer и отидете до местоположението на вашата инсталация на java. Ще трябва да стигнем до местоположението на основния изпълним файл на Java ( java.exe ). По подразбиране трябва да го намерите в Program Files / Java / * JRE build version * / bin. Точното местоположение ще се различава в зависимост от това коя Java Runtime Environment използвате.Придвижете се до местоположението на java.exe

    Забележка: Ако сте инсталирали Java на персонализирано място, вместо това навигирайте в персонализираното местоположение.

  2. Щракнете с десния бутон върху java.exe и изберете Properties . След това отидете в раздела Съвместимост и поставете отметка в квадратчето, свързано със Стартиране на тази програма като администратор (под Настройки). Щракнете върху Приложи, за да запазите промените.отидете в раздела Съвместимост и активирайте Стартирайте тази програма като администратор
  3. Щракнете с десния бутон върху изпълнимия файл на приложението (този, който задейства грешката) и повторете същата процедура: Съвместимост> Стартирайте тази програма като администратор> Приложи .
  4. Стартирайте приложението и вижте дали съобщението за грешка е разрешено.

Метод 3: Преинсталиране на Java

В някои случаи грешката се задейства, защото Java може да не е инсталирана правилно или инсталацията й да е била повредена с течение на времето. Следователно в тази стъпка ще преинсталираме Java, след като я деинсталираме напълно. За това:

  1. Натиснете клавиш Windows + R, за да отворите подканата за изпълнение и въведете „Appwiz.cpl“.
  2. Натиснете „Enter“ и екранът с програми и функции ще се отвори.
  3. На екрана Програми и функции превъртете списъка с инсталирани приложения, докато намерите Java.
  4. Щракнете с десния бутон върху него и изберете „Деинсталиране“, за да го премахнете напълно от системата
  5. Първо изтрийте основната инсталация на Java и по-късно трябва да премахнете и всички други инсталации на Java, като актуализации и други версии.
  6. След като деинсталирате цялата инсталация, рестартирайте компютъра си.
  7. След стартиране, посетете тази връзка и изтеглете най-новата версия на JRE.
  8. Проверете дали проблемът продължава.
  9. Ако грешката продължава да съществува, изтеглете и инсталирайте най-новата версия на JDK от тук.

    Забележка: Ако вече използвате JDK, опитайте да промените версиите му или да деинсталирате JRE, който е инсталиран заедно с него.

  10. Проверете дали проблемът все още съществува.

Метод 4: Поправяне на грешки с код

Зад тази грешка има различни причини и някои от тях включват, ако имате някои конкретни грешки с вашия код. Ще подчертаем някои по-долу.

  • Премахване на тире: Някои потребители отбелязаха, че грешката е коригирана чрез промяна на двойното тире „-“ на единично „-“ в техния код. Например:

    Променете кода

    “Sony @ sony-VPCEH25EN: ~ $ java –версия

    Взех JAVA_TOOL_OPTIONS: -javaagent: /usr/share/java/jayatanaag.jar

    Неразпозната опция: –версия

    Грешка: Не можа да се създаде виртуалната машина Java.

    Грешка: Възникна фатално изключение. Програмата ще излезе. "

    Да се

    “Sony @ sony-VPCEH25EN: ~ $ java -версия

    Взех JAVA_TOOL_OPTIONS: -javaagent: /usr/share/java/jayatanaag.jar

    Неразпозната опция: –версия

    Грешка: Не можа да се създаде виртуалната машина Java.

    Грешка: Възникна фатално изключение. Програмата ще излезе. "

  • Също така, опитайте да премахнете следния ред от аргумента си

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

  • Отворете файла eclipse.ini и се уверете, че сте добавили записа „-vm“ над vm args, в противен случай JVM V6 ще бъде избран в env vars.
  • Ако сте на Ubuntu, трябва да знаете, че Java 8 е единствената поддържана версия. Следователно, използвайки третия метод. Деинсталирайте Java и инсталирайте предишната версия.

Метод 5: Редактиране на файл 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. Можете също да опитате да премахнете файла eclipse.ini, ако проблемът продължава да съществува, тъй като според съобщенията проблемът е решен за някои, но не забравяйте първо да го архивирате, само в случай, че имате нужда. Също така, опитайте да затворите всички жадни за енергия приложения, преди да стартирате Java, за да сте сигурни, че са налични подходящи ресурси.

Проверка за корупция в JDK

  1. Натиснете „Windows“ + „R“, за да отворите подканата за изпълнение и въведете „cmd“.
  2. Въведете следната команда и проверете дали това дава грешка.
    c: \> java -версия
  3. Ако се появи грешка, преинсталирайте JDK напълно.