Не вдається запустити Eclipse - Java була запущена, але повернувся вихідний код = 13


966

Я намагаюся отримати свій перший смак розробки Android за допомогою Eclipse. Я зіткнувся з цією проблемою при спробі запустити Eclipse, встановивши версію 4.2 лише кілька хвилин тому.

Після першої спроби запуску Eclipseбез будь-яких параметрів для вказівки Java VM я отримав повідомлення про помилку 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: \ Програмні файли \ 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

"Програмні файли (x86)" - це те, що Windows прагне розмістити 32-розрядні речі в наші дні. Я не впевнений, як саме перевірити версію Java, але ви завжди можете її видалити та завантажити її в новому режимі.
DGH


2
@ user1522092 Як, пекло, ти звернувся до тексту повідомлення про помилку? На моєму ПК це неможливо скопіювати, мені довелося набрати його на клавіатурі ...
Томаш Зато - Відновити Моніку

@ TomášZato виберіть це повідомлення про помилку та скористайтеся ярликом - Ctrl + C. Це буде скопійовано.
SwapnilPopat

Відповіді:


207

Існують робочі комбінації біт ОС, JDK та Eclipse. У моєму випадку я використовував 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-бітна)

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 використовується біт-ність браузера, щоб визначити, яку завантаження біт-ness запропонувати вам, і багато людей використовують (d) 32-розрядні веб-переглядачі, хоча вони мають 64-розрядні Windows).

Найкращий спосіб виправити це, якщо припустити, що у вас є 64-розрядні JRE або JDK у вашій системі, - це eclipse.iniточно вказати , який саме JVM ви хочете використовувати. Інструкції детально описані на вікі-сторінці Eclipse , але в основному вам потрібно вказати -vmпараметр у файлі ini - переконайтеся, що уважно читайте сторінку wiki, оскільки формат дуже специфічний.

Вказівка ​​шляху до JVM eclipse.iniнастійно рекомендується, оскільки це ізолює 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)
  64-бітний VM сервера Java HotSpot (TM) (збірка 20.2-b06, змішаний режим)

Зверніть увагу на 3-й рядок, який показує, що це 64-бітна версія.

У 32-розрядної версії ви отримаєте щось на кшталт:

  Java HotSpot (TM) клієнта VM (збірка 20.1-b02, змішаний режим, обмін) 

Якщо ви працюєте на 64-розрядній машині, ви можете встановити 64-розрядний JDK та видалити 32-розрядний. Наприклад, у Windows 10, просто перейдіть у Налаштування та в розділі Додатки ви знайдете Java. Клацніть на ньому, і ви знайдете всі різні версії. Тепер ви можете вибрати, яку саме потрібно видалити.


8
Ну 3-й коментар мені допоміг. Я не зрозумів, що за чорт є "клієнт VM клієнта Java HotSpot (TM) (збірка 20.1-b02, змішаний режим, обмін)". Тепер я знаю, що мені потрібно завантажити java-64bit
Озан Атмар

як це зробити, у мене є та сама проблема і я не можу зрозуміти, що ти маєш на увазі, називаючи це явно, чи ти маєш на увазі, як з командного рядка
James Okpe George

3
тож як ми можемо Eclipse використовувати належну версію / версію Java?
Дон Чідл

2
Відповідь показує, як знайти встановлену версію Java. Не вистачає того, що потрібна версія Java!
ingomueller.net

1
@ ingomueller.net необхідний біт залежить від завантаженого біта затемнення.
Ungeheuer

251

Я отримав цю помилку і виявив, що мінлива PATH (в Windows), ймовірно, була змінена. Першим в моїй ПАРТІ був цей запис:

C:\ProgramData\Oracle\Java\javapath

... і Затьмарення бігло "C:\ProgramData\Oracle\Java\javapath\javaw"- що дало помилку. Я підозрюю, що це щось, що було поставлено разом із установкою Java 8.

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

Якщо це не працює для вас, вам потрібно буде оновити JDK (до версій Java - 8 у цьому випадку).

Інструкції щодо редагування змінної PATH


Я щойно виявив цю проблему і помітив цей самий шлях, який був перед моєю змінною PATH env. Я щойно встановив VirtualBox вчора, тому я припускаю, що це винуватець.
PolyMesh

13
У мене була та сама проблема, і я спробував різні варіанти, але вирішив її лише після видалення запису "C: \ ProgramData \ Oracle \ Java \ javapath" зі змінної PATH. Гарний улов!
Пабло

6
Чудовий ловець !!! Хлопці перевіряють змінну Env.PATH і видаляють цей C: \ ProgramData \ Oracle \ Java \ javapath; ... Він додається після оновлення JRE8, я думаю.
Chinmoy

так .. Оракул не тільки видалив мій var java7 шлях, але і зараз використовує "ProgramData"? wtf?
Лу Морда

3
Чому б ви видалили запис, коли можете просто вказати його на потрібний каталог?
b1nary.atr0phy

180

Якщо ви нещодавно встановили Java 8 та видалили Java 7, встановіть JDK 8 та повторіть спробу.


11
Це працювало для мене. Я встановив Java 8 (у мене був J7), але забув встановити JDK8. Так я це зробив і "voilà". Дякую!
Шуді

Це працювало для мене після встановлення Java 8, хоча я ніколи не видаляв жодної іншої версії Java.
Чарльз Дж. Даніельс

2
Mansour - За допомогою 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 

У розділі 'Системні змінні' у змінній 'Шлях' спочатку було таке:

C:\ProgramData\Oracle\Java\javapath;

Я видалив це, і Eclipse знову працював!


1
Працюючи і в Windows 7, здається, що установка Java 8 псує змінні середовища.
бумб

Це працювало для мене (Win7 x64). Я підозрюю, що цей запис було додано після встановлення 32-бітового Jre 8 для Firefox.
аватастичний

Спасибі людино! У мене ОС (win7 x64), і це рішення спонукало почати затемнення!
Костаса

Ідеально працював як шарм :) працював на мене в Windows 8 64 біт
Sathesh Balakrishnan Manohar

Я зробив зовсім те саме, що я поставив "C: \ ProgramData \ Oracle \ Java \ javapath;" наприкінці (останній запис) мого "Шляху", тому затемнення знайдіть "правильний" JVM перед "неправильним".
Zorglube

64

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

Моє рішення полягало в створенні змінної середовища для імені змінної властивостей Windows = значення змінної PATH = C: \ програмні файли \ 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.

Це працювало для мене.


5
У мене було оновлено Java, тому оновлення Java змінило оточення. змінне значення, фіксований env вар. значення, тому воно почало працювати.
Мохіт

5
Дякую Мохіту, я теж оновив java firefox, а змінна шлях оновилася як C: \ ProgramData \ Oracle \ Java \ javapath; Отже, затемнення не було ініціалізованим. Знову дякую.
farheen

1
Дякую Катусепі ... Це спрацювало як шарм у моєму випадку ... Але мені цікаво, як змінюється змінна середовище за допомогою мого дозволу (адміністратора) у Windows .. !!!
Kannan_SJD

така ж проблема з шляху, що не збирається в потрібне місце
TheZuck

Дякую, це врятувало мені багато часу. На моєму боці мені довелося встановити 64-бітний jdk та змінити змінну оточення, яку змінили оновлення.
роса

24

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

Виправлено проблему, виконавши наступні кроки.

  1. Eclipse знаходить виконувані файли JAVA з "C: \ ProgramData \ Oracle \ Java \ javapath"

  2. Структура папок міститиме ярлики до наведених нижче виконавчих файлів,
    i. java.exe
    ii. javaw.exe
    iii. javaws.exe

  3. Для мене виконувані шляхи вказували на розташування папки моїх програмних файлів (x86) (додому для 32-бітних додатків)

  4. Я виправив його до програмних файлів (у яких розміщені 64-бітні програми), і проблему було вирішено

Знайдіть скріншот для того ж.


Це означає, що це питання на 32 біт проти 64 біт, про що йдеться у верхній відповіді. :)
Привіт,

1
Ці згадані файли були створені або змінені на моєму ПК з останнім оновленням від Oracle - щоб воно не працювало! Це насправді не так, як має бути ... 32-бітове оновлення просто мовчки видалило 64-бітну установку
V15I0N

1
Як змінити його на 64-бітні програмні файли? Клацніть правою кнопкою миші java.exe> ​​властивості> вкладка швидкого доступу. Не можна змінити цільове поле.
stack1

Ви просто видаліть 32-бітні файли та скопіюйте їх із 64-бітного шляху (всередині програмних файлів)
dreamdeveloper

Ви просто видаліть 32-бітні файли та скопіюйте їх із 64-бітного шляху (всередині програмних файлів \ Загальні файли \ Oracle \ Java \ javapath)
dreamdeveloper

23

Додавання аргументу vm у файл .ini працювало на мене

-vm
C:\Program Files\Java\jdk1.7.0_65\bin\javaw.exe

У моєму випадку сервер Tomcat (під час затемнення) не зупинився належним чином від попереднього запуску. Отже, мені довелося вбити затемнення від Windows Task Manager. Після цього затемнення вже не починалося. Коли я додав це рішення, воно знову почало працювати. Здається дивним, але це справді було виправленням.
користувач1880957

22

Найдивніше виправлення будь-коли. Подивіться на свій шлях затемнення і переконайтеся, що у вас немає дивних символів (наприклад,! , #і @). Це працювало для мене.


1
Чи існує для цього відкрите питання?
стрижень


11

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


3
Це тому, що, ймовірно, ви використовуєте jdk 1.7, а плагін браузера встановив оновлення java 8 для відео. Якщо ви оновите jdk до 1.8, у такому випадку ця помилка усунеться. Або оновіть jdk або видаліть плагін. Дивне рішення.
Прітіш Шах

Я оновив свою версію Java, оскільки для оновлення потрібен плагін браузера. У будь-якому разі це не спрацювало, і я не закінчив функціонувати Eclipse. Це смоктало!
Vinícius Barros


11

Вам потрібно перейти до папки, де встановлено eclipse, і тоді вам доведеться змінити файл eclipse.ini.

Ви повинні додати

-вм

C: \ програмні файли \ 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 браузером за замовчуванням.
Thorbjørn Ravn Andersen

9

Найкраща відповідь тут занадто довга. Я не можу коментувати, тому я додав свою відповідь.

  1. Перейдіть сюди: http://www.oracle.com/technetwork/java/javase/downloads/index.html
  2. Завантажте найновіший SDK (звичайно, для x64, якщо ваш комп'ютер x64)
  3. Встановіть його
  4. Зараз вечірка закінчена, і настав час попрацювати з Eclipse;)

9

Рішення просте: Поставте папку "затемнення" на "C: / Файли програм". Якщо це не працює, помістіть його в "C: / Файли програми (x86)".


1
Це рішення, а також видалення повного шляху та лише використання "Javaw.exe" працювало на мене.
Стів Клайн

Остерігайтеся цього рішення, якщо ви працюєте над керованим екземпляром Windows. Більшість доменів IT / Sec мають дерево каталогів Program Files, заблоковане для доступу до запису, яке відтіняє затемнення.
Стевко

7

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

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

Я 64-бітний. Коли я встановив jdk1.8.0_2064 біти, він попросив перезавантажити. Я зробив. Це залишило 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.


Це було для мене! Я мав свою папку затемнення на робочому столі, і активний користувач мав спеціальний символ у своєму імені.
Дейв C

1
Це вже висвітлено у відповіді Bello , опублікованій приблизно за півроку до цього.
Пітер Мортенсен

6

Якщо встановити 64-бітну версію Eclipse на ПК з 32-розрядним JRE, це гарантовано відбудеться.

Тож рішення є досить простим: потрібно синхронізувати їх, оновивши будь-яке. Це станеться під час завантаження програмного забезпечення Oracle Fusion, і Eclipse очікує 32-бітне середовище, тоді як ваш JRE 64-розрядний, а ваш JAVA-додому вказує на 64-бітний JDK.


Дійсно моя справа. Невідповідність між 32 та 64 бітами є класичною. Я навіть не пам’ятав, завантажував чи ні 64-бітну версію, доки не використовую java -version
Maximiliano Rios

6
  1. У змінних системного середовища переконайтесь, що "C: \ ProgramData \ Oracle \ Java \ javapath" видалено.

  2. У змінних системного середовища переконайтеся, що "C: \ Program Files \ Java \ jdk1.8.0_131 \ bin" додано.

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


5

У мене було це питання. Я встановив оновлення Java 8 через Chrome, і терапевт, який намагався запустити Eclipse, дав згадану помилку.

Видаліть це оновлення, і Eclipse працює знову.


5

Я спробував деякі рішення, але мені не вийшло.

Нарешті, я знайшов інший спосіб, ...

Перейдіть до змінних середовищасистемні змінні

Встановіть C: \ Program Files \ Java \ jdk1.7.0_02 \ bin \ javaw.exe до шляху в системних змінних.

Спробуй це. Це працювало для мене ...


1
Я зробив усі інші рішення, але вони не працювали на моєму вікні 10. Як би там не було, ваше рішення працювало на мене і врятувало мої багато годин .... САЛЮТ !!!. Дуже дякую.
Дебора

5

Я спробував таке рішення:

Я створив ярлик javaw.exe з шляху C: \ Program Files \ Java \ jdk1.7.0_71 \ bin і вставив його в шлях C: \ ProgramData \ Oracle \ Java \ javapath .

Після цього я запустив Eclipse, і це працювало на мене.


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/ uk / завантажити / faq / 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 виправили мою проблему. Я сподіваюся, що це допомагає.


4

У мене виникло те саме питання, коли я модернізував JDK з 1,7 до 1,8. Я використовую Eclipse 4.4 (Luna). Помилка зникла після зниження рівня JDK до 1,7.


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\

Якщо ні, встановіть його так і запустіть ще раз.


1
Зауважте, що шлях до jdk не працював для мене, це повинен був бути jre
Мод,

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.