Не могу запустить Eclipse - Java была запущена, но вернул код выхода = 13

966

Я пытаюсь получить свой первый опыт разработки под Android с помощью Eclipse. Я столкнулся с этой проблемой при попытке запустить Eclipse, установив версию 4.2 всего несколько минут назад.

После первой попытки запуска Eclipseбез каких-либо параметров для указания виртуальной машины Java я получил сообщение об ошибке, в котором говорится об этом couldn't find a Java VM called javaw.exe inside the Eclipse folder, поэтому я обнаружил, где установлена ​​Java, и указал это местоположение в качестве параметра в целевом ярлыке. Теперь я получаю другую ошибку Java was started but returned exit code=13.

Подобные вопросы, похоже, указывают на то, что это 32-битный / 64-битный конфликт, но я на 99% уверен, что я скачал 64-битные версии Eclipse и Java (RE 7u5), которые я выбрал, потому что у меня 64-битная Windows 7.

  • Если кто-нибудь знает, как подтвердить, что мои Eclipse и Java являются 64-битными, это будет оценено.
  • Если вы думаете, что у меня другая проблема, пожалуйста, помогите!
  • Пожалуйста, говорите так ясно, как можете, так как я совершенно новичок в Eclipse и Java.

Ярлык Цель: "C: \ Program Files \ Eclipse-SDK-4.2-win32-x86_64 \ eclipse \ eclipse.exe" -vm "C: \ Program Files (x86) \ Java \ jre7 \ bin \ javaw.exe"

Полный код ошибки ...:

Java was started but returned exit code=13
C:\Program Files (x86)\Java\jre7\bin\javaw.exe
-Xms40m
-Xmx512m
-XX:MaxPermSize=256m
-jar C:\Program Files\Eclipse-SDK-4.2-win32-x86_64\eclipse\\plugins/org.eclipse.equinox.launcher_1.30v20120522-1813.jar
-os win32
-ws win32
-arch x86_64
-showsplash C:\Program Files\Eclipse-SDK-4.2-win32-x86_64\eclipse\\plugins\org.eclipse.platform_4.2.0.v201206081400\splash.bmp
-launcher C:\Program Files\Eclipse-SDK-4.2-win32-x86_64\eclipse\eclipse.exe
-name Eclipse
--launcher.library C:\Program Files\Eclipse-SDK-4.2-win32-x86_64\eclipse\\plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.200.v201205221813\eclipse_1503.dll
-startup C:\Program Files\Eclipse-SDK-4.2-win32-x86_64\eclipse\\plugins/org.eclipse.equinox.launcher_1.30v20120522-1813.jar
--launcher.overrideVmargs
-exitdata 1e30_5c
-vm C:\Program Files (x86)\Java\jre7\bin\javaw.exe
-vmargs
-Xms40m
-Xmx512m
-XX:MaxPermSize=256m
-jar C:\Program Files\Eclipse-SDK-4.2-win32-x86_64\eclipse\\plugins/org.eclipse.equinox.launcher_1.30v20120522-1813.jar
Бен Э.
источник
«Program Files (x86)» - это то место, где в наши дни Windows склонна помещать 32-битные файлы. Я не уверен, как именно проверить вашу версию Java, но вы всегда можете удалить и загрузить его заново.
DGH
2
@ user1522092 Как, черт возьми, вы получили доступ к тексту сообщения об ошибке? На моем ПК это не может быть скопировано, я должен был напечатать это на клавиатуре ...
Томаш Зато - Восстановить Монику
@ TomášZato выберите это сообщение об ошибке и используйте сочетание клавиш - Ctrl + C. Оно будет скопировано.
СвопнилПопат

Ответы:

207

Есть рабочие комбинации OS, JDK и Eclipse Bitness. В моем случае я использовал 64-битный JDK с 32-битным Eclipse в 64-битной ОС. После понижения JDK до 32-битной Eclipse начал работать.

Используйте одну из следующих комбинаций.

  • 32-разрядная ОС, 32-разрядный JDK, 32-разрядное Eclipse (только 32-разрядное)
  • 64-битная ОС, 32-битный JDK, 32-битный Eclipse
  • 64-битная ОС, 64-битная JDK, 64-битная Eclipse (только 64-битная)
tk_
источник
743

Ваша версия Eclipse является 64-битной, основанной на путях и именах файлов. Тем не менее, версия Java, которую он собирает, является 32-битной, как указано в этой строке:

-vm C:\Program Files (x86)\Java\jre7\bin\javaw.exe

Program Files (x86)это папка, в которой 64-битная Windows размещает 32-битные программы.

Program Filesэто папка, в которой 64-битная Windows размещает 64-битные программы.

Это может произойти, когда в системе установлено более одной JVM, как это часто бывает в 64-битной Windows (например, страница загрузки JRE использует битовую нагрузку браузера, чтобы определить, какую битовую загрузку вам предложить, и многие люди используют (d) 32-битные браузеры, даже если они работают под 64-битной Windows).

Лучший способ исправить это, если в вашей системе действительно есть 64-битный JRE или JDK, - это указать eclipse.ini, какую именно JVM вы хотите использовать. Инструкции подробно описаны на вики-странице Eclipse , но в основном вы должны указать -vmопцию в ini-файле - обязательно внимательно прочитайте вики-страницу, поскольку формат очень специфичен.

eclipse.iniНастоятельно рекомендуется указывать путь JVM, потому что это изолирует Eclipse от любых возможных изменений в вашей системе, PATHкоторые могут внести некоторые установщики программ (я говорю с вами, Oracle!).

Другой вариант - загрузить и использовать 32-битный Eclipse вместо 64-битного, но все равно настоятельно рекомендуется указать путь к JVM в eclipse.ini.


Оставлено для исторической справки :

Чтобы проверить свою версию Java, запустите

  Java-версия 

в консоли (командная строка). На Windows 7 с 64-битной Java 6 я получаю:

  Java-версия "1.6.0_27"
  Java (TM) SE Runtime Environment (сборка 1.6.0_27-b07)
  Java HotSpot (TM) 64-битная серверная виртуальная машина (сборка 20.2-b06, смешанный режим)

Обратите внимание на 3-ю строку, которая показывает, что это 64-битная версия.

В 32-битной версии вы получите что-то вроде:

  Клиентская виртуальная машина Java HotSpot (TM) (сборка 20.1-b02, смешанный режим, совместное использование) 

Если вы работаете на 64-битном компьютере, вы можете установить 64-битный JDK и удалить 32-битный. Например, в Windows 10 просто перейдите в «Настройки» и в разделе «Приложения» вы найдете Java. Нажмите на него, и вы найдете все разные версии. Теперь вы можете выбрать, какой из них удалить.

ДНК
источник
8
Хорошо 3-й комментарий помог мне. Я не понял, что, черт возьми, такое «Клиентская виртуальная машина Java HotSpot ™ (сборка 20.1-b02, смешанный режим, совместное использование)». Теперь я знаю, что мне нужно скачать java-64bit
Озан Атмар
Как мне это сделать, у меня та же проблема, и я не могу понять, что вы имеете в виду, называя это явно, как вы подразумеваете из командной строки
Джеймс Окпе Джордж
3
Так как же заставить Eclipse использовать подходящий исполняемый файл / версию Java?
Дон Чидл
2
Ответ показывает, как узнать установленную версию Java. Чего не хватает, так это то, какая версия Java требуется!
ingomueller.net
1
@ ingomueller.net требуемый бит зависит от загруженного бита затмения.
Ungeheuer
251

Я получил эту ошибку и обнаружил, что моя переменная PATH (в Windows), вероятно, была изменена. Сначала в моем ПУТИ была эта запись:

C:\ProgramData\Oracle\Java\javapath

... и Eclipse побежал "C:\ProgramData\Oracle\Java\javapath\javaw"- который дал ошибку. Я подозреваю, что это то, что пришло вместе с установкой Java 8.

У меня установлено несколько версий Java (6,7 и 8), поэтому я удалил эту запись из PATH и попытался перезапустить Eclipse, что сработало нормально.

Если он не работает для вас, вам нужно обновить JDK (до версии Java - 8 в данном случае).

Инструкция о том, как редактировать переменную PATH

mortensi
источник
Я только что обнаружил эту проблему и заметил тот же путь, добавленный к моей переменной env PATH. Я только что установил VirtualBox вчера, поэтому я предполагаю, что это виновник.
ПолиМеш
13
У меня была та же проблема, и я пробовал разные варианты, но решил ее только после удаления записи «C: \ ProgramData \ Oracle \ Java \ javapath» из переменной PATH. Хороший улов!
Пабло
6
Отличный улов !!! Ребята, проверьте вашу переменную Env.PATH и удалите эту C: \ ProgramData \ Oracle \ Java \ javapath; ... Я думаю, что она добавлена ​​после обновления JRE8.
Чинмой
так .. не только oracle удалил мой путь к Java, но теперь он использует "ProgramData"? WTF?
Лу Морда
3
Зачем удалять запись, если вместо этого вы можете указать ее в правильном каталоге?
b1nary.atr0phy
180

Если вы недавно установили Java 8 и удалили Java 7, установите JDK 8 и повторите попытку.

Джасвант Кумар
источник
11
Это сработало для меня. Я установил Java 8 (у меня был J7), но я забыл установить JDK8. Так я и сделал, и "вуаля". Спасибо!
Шуди
Это сработало для меня после установки Java 8, хотя я никогда не удалял другие версии java.
Чарльз Дж. Дэниелс
2
Мансур - В Java 8 Oracle установил удаление предыдущих версий с установкой. Если вы выбрали эту опцию при установке, удаление может оставить вас ни с чем.
WhyGeeEx
3
Я отказываюсь устанавливать SDK, когда мне нужно только время выполнения.
ChristophK
Просто чтобы прояснить, exit code=13это всегда вызвано несовпадением битов между Eclipse и JVM. Люди могут прийти к этой точке разными способами, но, в конце концов, это не вызвано конкретной версией Java (6 против 7 против 8) или тем, используете ли вы JRE против JDK - это всегда коренится немного несоответствие Смотрите принятый ответ выше.
E-Riz
118

Для меня решение было войти в (на Windows 8.1):

System > Advanced system setting > Environment Variables 

В разделе «Системные переменные» в переменной «Path» сначала было указано следующее:

C:\ProgramData\Oracle\Java\javapath;

Я удалил это и Eclipse снова заработал!

RustyIngles
источник
1
Работал на Windows 7 тоже, кажется, что установка Java 8 портит переменные среды.
boumbh
Это сработало для меня (Win7 x64). Я подозреваю, что эта запись была добавлена ​​после установки 32-битной JRE 8 для Firefox.
Аватаст
Спасибо чувак! У меня есть ОС (win7 x64), и это решение вызвало затмение, чтобы начать!
KostasA
Идеально сработало как шарм :) у меня сработало в windows 8 64 bit
Sathesh Balakrishnan Manohar
Я сделал то же самое, я просто поставил 'C: \ ProgramData \ Oracle \ Java \ javapath;' в конце (последней записи) моего «Пути», так что затмение найдите «правильную» JVM перед «неправильной».
Zorglube
64

У меня была та же проблема, Java была запущена, но вернул код выхода = 13 .

Мое решение состояло в том, чтобы создать переменную среды для переменной свойства Windows name = значение переменной PATH = C: \ Program Files \ Java \ jdk1.7.0_02 \ bin , а не C: \ Program Files (x86) \ Java \ jre7 \ bin .

Затем я добавил строку в файл eclipse.ini→ C: \ Program Files \ Java \ jdk1.7.0_02 \ bin \ javaw.exe.

Это сработало для меня.

Katusepi
источник
5
Я обновил Java, поэтому обновление Java изменило ENV. значение переменной, фиксированный env. вар. значение, чтобы оно начало работать.
Мохит
5
Благодаря Mohit, я тоже обновил Java Firefox и переменная пути обновилась как C: \ ProgramData \ Oracle \ Java \ javapath; Таким образом, затмение не было инициализировано. Еще раз спасибо.
Фархин
1
Спасибо Катусепи ... В моем случае это работало как шарм ... Но мне интересно, как меняются переменные среды без моего (администратора) разрешения в Windows .. !!!
Kannan_SJD
та же самая проблема с путем, не идущим в правильное место
TheZuck
Спасибо, это сэкономило мне много времени. Со своей стороны мне пришлось установить 64-битный jdk и изменить переменную среды, в которой были изменены обновления.
Desw
24

введите описание изображения здесь

Проблема была устранена путем выполнения следующих шагов.

  1. Eclipse находит исполняемые файлы JAVA из 'C: \ ProgramData \ Oracle \ Java \ javapath'

  2. Структура папок будет содержать ярлыки для следующих исполняемых файлов,
    т.е. java.exe
    ii. javaw.exe
    iii. javaws.exe

  3. Для меня пути к исполняемым файлам указывали на расположение моей папки Program Files (x86) (дома для 32-битных приложений)

  4. Я исправил это Program Files (где 64-битные приложения), и проблема была решена

Пожалуйста, найдите скриншот для того же.

dreamdeveloper
источник
Это означает, что проблема была 32-битной или 64-битной, как упоминалось в топ-ответе. :) Хотя ура
JuliandotNut
1
Эти файлы были созданы или изменены на моем ПК с последним обновлением от Oracle - чтобы он не работал! Это действительно не так, как должно быть ... 32-разрядное обновление просто тихо удалило 64-разрядную установку
V15I0N
1
Как мне изменить его на программные файлы 64 бит? Я щелкаю правой кнопкой мыши java.exe> ​​Свойства> вкладка ярлыка. Целевое поле не может быть изменено.
stack1
Вы просто удаляете 32-битные файлы и копируете их по 64-битному пути (внутри файлов программы)
dreamdeveloper
Вы просто удаляете 32-битные файлы и копируете их по 64-битному пути (внутри Program Files \ Common Files \ Oracle \ Java \ javapath)
dreamdeveloper
23

Добавление аргумента vm в файл .ini сработало для меня

-vm
C:\Program Files\Java\jdk1.7.0_65\bin\javaw.exe
TastyCode
источник
В моем случае сервер Tomcat (в Eclipse) не был остановлен должным образом с предыдущего запуска. Итак, мне пришлось убить затмение из диспетчера задач Windows. После этого затмение больше не начиналось. Когда я добавил это решение, оно снова заработало. Кажется странным, но это действительно было исправлением.
user1880957
22

Самое странное исправление. Посмотрите на свой путь Eclipse и убедитесь, что у вас нет странных символов (например,! , #и @). Это сработало для меня.

Белло
источник
1
Есть ли открытая тема для этого?
ездил
13

Найдите eclipse.ini:

Часто при C:\Users\xxx\eclipse\jee-neon\eclipseдобавлении

-vm
 C:\Program Files (x86)\Java\jre7\bin\javaw.exe

после

--launcher.appendVmargs
Pythoner
источник
Одно важное замечание, которое меня -vm
Брайан Глисон - IBM
11

Я удалил обновление Java 25, и проблема была решена.

Шетти
источник
3
Это потому, что, вероятно, вы используете jdk 1.7, а плагин браузера установил обновление 25 для Java, для видео. Если вы обновите свой jdk до 1.8, в этом случае эта ошибка исчезнет. Либо обновите JDK, либо удалите плагин. Странное решение.
Притишский шах
Я обновил свою версию Java, потому что плагин браузера нуждался в обновлении. Это не сработало в любом случае, и в итоге я не получил Eclipse полностью функциональным. Это отстой!
Винициус Баррос
11

Вы должны перейти в папку, где установлено eclipse, а затем вы должны изменить файл eclipse.ini.

Вы должны добавить

-vm

C: \ Program Files \ Java \ jdk1.8.0_202 \ bin \ javaw.exe

Ваш файл eclipse.ini будет выглядеть как на скриншоте ниже

введите описание изображения здесь

Саураб Пракаш
источник
Пожалуйста, обратитесь к stackoverflow.com/a/11461676/1756069 для получения дополнительной информации об этом решении.
гранат
10

Оказалось, у меня установлена ​​только 32-битная среда выполнения Java.

C:\Program Files (x86)\Java\jre1.8.0_45\

Eclipse действительно хотел, чтобы я установил 64-битную среду выполнения Java. <= Решено

Java SE Runtime Environment 8u45  jdk-8u45-windows-x64.exe

http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html

Confirm your installation by checking you now have this folder

    C:\Program Files\Java\jre1.8.0_45\
Хэмиш
источник
может быть, вы имели в виду «jre-8u45-windows-x64.exe» вместо «jdk-8u45-windows-x64.exe»
Dane411
9

У меня было это сообщение, когда я забыл установить JDK.

Патриция Хеймфарт
источник
1
Как может затмение сказать, что Java была запущена тогда, если его нет на вашей машине?
Амит Кумар
Это работает для меня :) После нормального обновления до 1.8 я не могу установить JDK вручную. Теперь все работает отлично.
Михал Шалапски
@AmitKumar Вероятно, запустите установку Java браузера по умолчанию.
Турбьёрн Равн Андерсен
9

Лучший ответ здесь слишком длинный. Я не могу комментировать, поэтому я добавил свой ответ.

  1. Иди сюда: http://www.oracle.com/technetwork/java/javase/downloads/index.html
  2. Загрузите последний SDK (конечно, для x64, если ваш компьютер x64)
  3. Установить его
  4. Теперь вечеринка закончена, и пришло время работать с Eclipse;)
Фреско
источник
9

Решение простое: поместите папку «eclipse» в «C: / Program Files». Если это не работает, поместите его в «C: / Program Files (x86)».

блюрэй
источник
1
Это решение, а также удаление полного пути и только использование "Javaw.exe" работало для меня.
Стив Клайн
Остерегайтесь этого решения, если вы работаете с управляемым экземпляром Windows. В большинстве доменов IT / Sec дерево каталогов Program Files заблокировано для доступа на запись, что затмевает fubars.
Stevko
7

У меня такая же проблема. Я использовал Windows 8 с 64-битной ОС. Я просто изменил путь, Program Files (x86)и затем он начал работать. Я поместил эту строку в файл eclipse.ini:

-vm
 C:\Program Files (x86)\Java\jre7\bin\javaw.exe
Пир Фахим Шах
источник
Я 64 бит. Когда я установил jdk1.8.0_20для 64 бит, он попросил меня перезагрузиться. Я сделал. Он оставил JRE Program Files (x86)и только DLL в 64-битной Program Files(нет javaw.exe), поэтому я указал -vmна Program Files (x86). Я все еще получил code=13. С этим ashout.com/fix-java-started-returned-exit-code13-eclipse я понял, что битовые версии «должны» соответствовать да или да. Поэтому я запускаю тот же самый установщик JDK во второй раз. Удивительно, но он развернул новые файлы, которые отсутствовали в первый раз. Сейчас он работает с -vmв C:\Program Files\Java\jdk1.8.0_20\bin\javaw.exe.
Хави Монтеро
Это действительно две строки в файле eclipse.ini?
Питер Мортенсен
@PeterMortensen да, ты пробовал
Пир Фахим Шах
6

Убедитесь , что у вас нет специальных символов ( %, $, #и т.д.) на пути Eclipse.

Asokan
источник
Это было для меня! У меня была папка eclipse на рабочем столе, и у активного пользователя в имени пользователя был специальный символ.
Дейв С,
1
Это уже покрыто ответом Белло , опубликованным около 1/2 года назад.
Питер Мортенсен
6

Если вы устанавливаете 64-битную версию Eclipse на ПК с 32-битной JRE, это гарантированно произойдет.

Таким образом, решение довольно простое: вам нужно синхронизировать их, обновив любой из них. Это происходит при загрузке промежуточного программного обеспечения Oracle Fusion, и Eclipse ожидает 32-разрядную среду, в то время как ваша JRE является 64-разрядной, а домашняя страница JAVA указывает на 64-разрядный JDK.

Георгий Папатеодору
источник
Мой случай действительно. Несоответствие между 32 и 64 битами является классическим. Я даже не помнил, скачал ли я 64-битную версию, пока не использую java-версию
Максимилиано Риос
6
  1. В системных переменных среды убедитесь, что «C: \ ProgramData \ Oracle \ Java \ javapath» удален.

  2. В системных переменных среды убедитесь, что добавлено «C: \ Program Files \ Java \ jdk1.8.0_131 \ bin».

введите описание изображения здесь

Сиддарт Кантед
источник
5

У меня была эта проблема. Я установил Java 8 с обновлением 25 через Chrome, и попытка запустить Eclipse дала упомянутую ошибку.

Это обновление было удалено, и Eclipse снова работает.

mtyson
источник
5

Я попробовал некоторые решения, но у меня не получилось.

Наконец, я нашел другой способ ...

Перейти к Переменные средыСистемные переменные

Установите C: \ Program Files \ Java \ jdk1.7.0_02 \ bin \ javaw.exe путь в системных переменных.

Попробуй это. У меня это сработало ...

Канди
источник
1
Я сделал все другие решения, но они не сработали для моих окон 10. В любом случае, ваше решение сработало для меня и сэкономило мне много часов .... SALUTE !!!. Спасибо.
Дебора
5

Я попробовал следующее решение:

Я создал ярлык javaw.exe из пути C: \ Program Files \ Java \ jdk1.7.0_71 \ bin и вставил его в путь C: \ ProgramData \ Oracle \ Java \ javapath .

После этого я запустил Eclipse, и он сработал для меня.

Jitendra
источник
5

Я также столкнулся с той же проблемой. Оказалось, что переменная окружения Path указывала на неверную версию Java.

Пожалуйста, проверьте переменную среды и укажите правильную версию Java. Например:

C:\Program Files (x86)\Java\jdk1.6.0_17\bin

Чтобы проверить переменную среды, перейдите к:

Computer  properties  Advanced system settings  Advanced -> Environment variables
оселок
источник
4

Я только что решил ту же проблему при настройке ПК с Windows 8.1. Точно так же, как @George Papatheodorou, упомянутый выше (извините, я не могу добавить комментарий), Eclipse и JRE должны быть как 64-битными, так и 32-битными.

Однако, похоже, что для среды Windows 8 / 8.1 вы собираетесь получить 32-битную JRE по умолчанию (и я не знаю, где изменить это значение по умолчанию для загрузки), как описано здесь: http://java.com/ ан / скачать / чаво / win8_faq.xml

Я использовал 64-битный Eclipse, поэтому было расхождение. Затем я установил 32-битный Eclipse, и на этот раз все работает нормально.

Поэтому, прежде чем пытаться изменить какие-либо переменные среды, проверьте версию JRE и Eclipse.

Конечно, вы можете использовать 64-битную JRE с 64-битной Eclipse. Просто убедитесь, что они совпадают, потому что Windows 8.1 по умолчанию предоставит вам 32-битную версию.

Фенвик
источник
4

У меня была похожая ошибка после установки Java 8 в моей системе Windows 7, 64-битной системе.

Изменение переменных среды и т. Д. Не помогло. Поэтому я попытался удалить Java Update 8, но это тоже не помогло. Загрузка и установка 64-битной версии Java 8 SDK устранили мою проблему. Надеюсь, это поможет.

IrfanClemson
источник
4

У меня была та же проблема после того, как я обновил свой JDK с 1.7 до 1.8. Я использую Eclipse 4.4 (Luna). Ошибка исчезла после того, как я опустил JDK до 1.7.

sh977218
источник
4

Проверьте, не установлены ли два пути JAVA в разделе Переменная среды. Если вы уже установили две версии JDK, это может быть, затем дважды проверьте, что вы установили PATH для Java, как показано ниже.

PATH -->  C:\ProgramData\Oracle\Java\javapath

а также

JAVA_HOME ---> C:\Program Files\Java\jdk1.7.0_02\bin

Если оба есть, то может произойти ошибка такого рода.

Если все в порядке, то проверьте в файле .ini нижнюю область в порядке или нет. Откройте файл ".ini" и проверьте

 -VM  path is  C:\Program Files\Java\jdk1.7.0_79\bin\

Если нет, пожалуйста, установите его так и запустите снова.

dush88c
источник
1
Обратите внимание, что путь JDK не работал для меня, это должен был быть Jre
Мод