Eclipse zwraca komunikat o błędzie „Java została uruchomiona, ale zwrócił kod zakończenia = 1”

155

to jest obraz kodu błędu

Właśnie pobrałem i wyszukałem Android SDK dla systemu Windows. Obecnie używam W8 64x.

Vladislav Bogdanov
źródło
1
Miałem kiedyś podobny problem, w którym błąd nie był spowodowany wersją java, a raczej brakowało biblioteki dla jakiegoś agenta java. Czy ktokolwiek kiedykolwiek dojdzie do tego problemu :)
Niels Bech Nielsen
1
Ja też mam ten sam problem. Po zainstalowaniu 64-bitowego zestawu JDK tego błędu nie można już odtworzyć.
Sudhakar

Odpowiedzi:

264

Komunikat o błędzie wskazuje na problem z wersją oprogramowania Java. Czy masz zainstalowany JDK?

Spróbuj dodać następujące elementy (zwracając uwagę na nowy wiersz):

/! \ Upewnij się, że -vmopcja pojawia się przed tym -vmargspoleceniem . Wszystko później -vmargsjest przekazywane bezpośrednio do maszyny JVM.

-vm 
c:/wherever/java/jdk1.6.0_21/jre/bin/server/jvm.dll
-vmargs... 

... do swojego eclipse.inipliku, wskazując JDK, którego chcesz użyć, i sprawdź, czy wymagana wersja Java jest co najmniej tak nowa, jak JDK. To jest ścieżka do systemu Windows. Więcej o ścieżkach znajdziesz tutaj (przewiń w dół).

Jeśli nie wiesz, gdzie eclipse.iniznajduje się plik: regularnie znajduje się on w folderze twojego eclipse.exe.

Edit2: @KadoLakatt : powodem, dla którego instalacja najnowszej wersji Java zadziałała, jest to, że Eclipse sprawdza standardową ścieżkę dla maszyny JVM, jeśli nie znajdzie -vmwpisu (patrz tutaj ). Jednak nie polecam tego, ponieważ możesz się mylić, zgadując, z jakiej maszyny JVM korzystasz. Jeśli zaktualizujesz Javę (automatycznie?), Możesz napotkać problemy w swoim Eclipse, zastanawiając się, co mogłeś zmienić. Lepiej ustaw go w określonym folderze w swoim, eclipse.iniaby mieć pewność.

Calon
źródło
2
@KadoLakatt: następnym razem podaj własną odpowiedź. Zmieniłem jednak mój post, aby zająć się twoim punktem.
Calon
1
'upewnij się, że opcja -vm występuje przed poleceniem -vmargs' ... to również bardzo mi pomogło wraz z twoją odpowiedzią!
Vikram
2
Upewnij się, że wpisujesz wiersz tak, jak został wyświetlony: ze ścieżką w osobnym wierszu, a nie w tym samym wierszu, co -vm.
Diomidis Spinellis
Miałem ten błąd z javaw.exe lub java.exe, ale z jvm.dll wszystko działa dobrze. Dzięki.
cyjanek
2
Zmieniłem z „.exe” na „.dll”, chociaż ścieżka „.exe” działała kilka miesięcy wcześniej. -vm C:/Program Files/Java/jdk1.8.0_191/jre/bin/javaw.exe DO:-vm C:/Program Files/Java/jdk1.8.0_191/jre/bin/server/jvm.dll
Reddymails,
45

Otrzymałem ten błąd niespodziewanie. Eclipse przestał działać, mimo że nie wprowadziłem żadnych zmian konfiguracyjnych i nie zainstalowałem żadnych nowych jdk.

Oto mój plik eclipse.ini:

--clean
-startup
plugins/org.eclipse.equinox.launcher_1.3.0.v20130327-1440.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.200.v20130807-1835
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
256M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vm
C:/Program Files (x86)/Java/jre7/bin/javaw.exe
--launcher.appendVmargs
-vmargs
-Dosgi.requiredJavaVersion=1.6
-Xms40m
-Xmx1024m

Aby pomyślnie uruchomić Eclipse, usunąłem

    -vmargs
    -Dosgi.requiredJavaVersion=1.6
    -vm 
C:/Program Files (x86)/Java/jre7/bin/javaw.exe

Oto mój zaktualizowany plik:

--clean
-startup
plugins/org.eclipse.equinox.launcher_1.3.0.v20130327-1440.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.200.v20130807-1835
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
256M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-Xms40m
-Xmx1024m

Nie mam pojęcia, dlaczego usunięcie osgi.requiredJavaVersion = 1.6 naprawiło ten problem, ponieważ moja wersja jvm to 1.6. Z dokumentu http://help.eclipse.org/indigo/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Freference%2Fmisc%2Fruntime-options.html

osgi.requiredJavaVersion
The minimum java version that is required to launch Eclipse. The default value is "1.4.1".

Myślę, że moja wersja Java została ustawiona poprawnie. W każdym razie Eclipse zaczyna się teraz dla mnie uruchamiać ......

niebieskie niebo
źródło
1
Usunąłeś tam nie tylko dwie linie, ale raczej cztery. Parametr -vm również został usunięty i przypuszczam, że to jest przyczyną błędu. Jeśli nie zdefiniujesz ścieżki w pliku eclipse.ini, eclipse rozpocznie się od zdefiniowanej domyślnej maszyny JVM. Należy również zauważyć, że wszystko po parametrze -vmargs jest przekazywane do maszyny JVM jako parametr. Nie jestem pewien, czy ustawienia xms i xmx nadal będą działać, jeśli usuniesz -vmargs.
Calon,
2
Usunąłem też: -vmargs -Dosgi.requiredJavaVersion = 1.6 I teraz działa! Dzięki za poprawkę!
Dainius Kreivys
Dla mnie to też zadziałało. Nie jestem pewien, dlaczego wyrzucił ten błąd, kiedy, jak powiedziałeś, nic nie zmieniłem w mojej Javie / Eclipse ... dziwne
user1282637
2
Ten błąd wystąpił na komputerze z systemem Windows po zainstalowaniu wtyczki „Eclipse SDK”. Eclipse po cichu dodał -vm C:/Program Files/Java/jdk1.8.0_45/bin/javaw.exedo pliku eclipse.ini, zażądał ponownego uruchomienia, a następnie nie udało się go uruchomić. W przeszłości dodawałem ręcznie -vm C:\Program Files\Java\jdk1.8.0_45\bin\javaw.exe. Wystąpił błąd, ponieważ zostały mi dwa wpisy „-vm”. Usunięcie jednego z nich rozwiązało problem.
Hollis Waite
Usunąłem tylko: -vmargs -Dosgi.requiredJavaVersion=1.6nie mam pojęcia, skąd do diabła to się wzięło, IDE działało dobrze w przeszłości.
Tomáš Zato - Przywróć Monikę
9

może być też tak:

-vm 
C:\Program Files\Java\jre6\bin\server\jvm.dll
Abu Shumon
źródło
3
To zadziałało dla mnie. Myślałem, że SO właśnie przenosi część C: \ w dół do drugiej linii ze względu na problemy z rozmiarem, ale będzie działać tylko w osobnej linii.
IDontWorkAtNASA
@IDontWorkAtNASA tak, czasami prosta kropka, spacja lub nowa linia stają się naprawdę ważną kwestią!
Abu Shumon
6

Dodawanie -vmparametrów działa u mnie.

-vm 
C:\Program Files\Java\jdk1.7.0_45\jre\bin\server\jvm.dll
Lalit Narayan Mishra
źródło
6

Ci z Was, którzy bezskutecznie wypróbowali wszystkie powyższe odpowiedzi, powinni spróbować obniżyć wartość -Xms. Muszę obsługiwać starszą wersję Eclipse (Weblogic Eclipse 10.3.6) - miałem następujący plik .ini na moim komputerze z systemem Windows 7 i na mojej maszynie wirtualnej z systemem Windows Server 2008 R2 Enterprise (wersja Java poniżej wskazuje na 32-bitową Javę), która miała działały i działały idealnie.

-vm
C:/Java/Java7/jdk1.7.0_79/bin/javaw.exe
-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
-showsplash
org.eclipse.platform
--launcher.defaultAction
openFile
-vmargs
-Xms1024m
-Xmx1024m
-XX:MaxPermSize=256m
-Dsun.lang.ClassLoader.allowArraySyntax=true
-Dweblogic.home=C:/Oracle/Middleware/wlserver_10.3

A więc 32-bitowa Java dla 32-bitowego Eclipse, ale nadal kod zakończenia 1. Na podstawie wszystkich odpowiedzi, które tu widziałem, i jedynej zmiany polegającej na nowym laptopie z Windows 10, jedynym możliwym wyjaśnieniem było to, że nowy system operacyjny i Eclipse nie zgadzali się na coś. Zacząłem więc bawić się każdą z wartości i zadziałało, gdy obniżyłem Xms i Xmx do 512m. Mam przeczucie, że prawdopodobnie nowy system operacyjny Windows zapobiega wyższemu początkowemu rozmiarowi sterty w oparciu o pewne warunki uruchomienia (wyższy -Xms działa w systemie Windows 10 na wszystkich innych podobnych urządzeniach, z którymi się spotkałem) - więc wszelkie inne wyjaśnienia są mile widziane. Tymczasem jedyną wartością, którą dostosowałem, aby pomyślnie uruchomić Eclipse, jest podana poniżej.

-Xms512m 
Sumiya
źródło
Jeśli używasz maszyny wirtualnej (VM) i nie możesz obniżyć wartości -Xms (na przykład plik bat znajduje się na dysku współdzielonym tylko do odczytu), przydziel więcej pamięci maszynie wirtualnej. Wydaje się oczywiste, ale przeoczyłem to przez godzinę.
Skurfur,
6

Robocze kombinacje OS, JDK i bitowości zaćmienia.

  • 32-bitowy system operacyjny, 32-bitowy JDK, 32-bitowy Eclipse (tylko 32-bitowy)
  • 64-bitowy system operacyjny, 32-bitowy JDK, 32-bitowy Eclipse
  • 64-bitowy system operacyjny, 64-bitowy JDK, 64-bitowy Eclipse (tylko 64-bitowy)

Prosimy o użycie 1 z powyższych kombinacji.

tk_
źródło
4

Miałem ten sam problem na komputerze z systemem Windows 7, 64-bitowym. Następnie pobrałem i zainstalowałem 64-bitowy jdk dla Javy (w tym jre). To rozwiązało problem.

CRM
źródło
Samo wykonanie aktualizacji Java rozwiąże również ten problem, jeśli Twoja wersja Java jest nieaktualna.
cid
3

Napotkałem podobne problemy. Powodem jest to, że ścieżka do mojego zaćmienia zawiera chińskie znaki. Po usunięciu tych znaków problem zostanie rozwiązany. Sprawdź, czy na Twojej ścieżce nie ma znaków innych niż angielski.

Bernie
źródło
3

Ja też stanąłem przed podobnym problemem, nie rozwiązanym po dodaniu polecenia w pliku eclipse.ini. Moja główna przyczyna jest inna. Eksperymentowałem z diagramami sekwencji przy użyciu pomocy obiektowej. To rzuca wyjątek i zakłóca mój obszar roboczy. Podczas pracy nad nowymi wtyczkami możesz mieć inny problem. Lepiej sprawdź plik dziennika znajdujący się w obszarze roboczym projektuC:\path\to\workspace\.metadata\.log

Jajikanth pydimarla
źródło
2

Można to rozwiązać, dodając następujący wiersz do pliku eclipse.ini -XX: -UseCompressedOops

Vivek
źródło
1
To dość krótka linia dla parametru, który działa tylko w szczególnych okolicznościach. Afaik, `UseCompressedOops 'jest domyślnie włączone, począwszy od Java 6_18. Ponadto jest dostępny tylko w Javie 6 i nowszych i został stworzony tylko dla aplikacji 64-bitowych. Może to pomóc, ale tylko w przypadku niektórych konkretnych wersji Java.
Calon,
2

Miałem ten sam problem, który był spowodowany awarią systemu Windows 10. Wcześniej na ścieżce miałem ścieżkę Oracle, tj. Ścieżkę wstawioną przez Oracle w czasie instalacji JDK. Usunąłem go i zmieniłem ścieżkę do lokalizacji JDK. To rozwiązało problem.

Vijay
źródło
1

Bezpośrednia zmiana pliku zaćmienia nie jest dobrym pomysłem, bez względu na aspekt lub ini, chyba że można to zmienić w zaćmieniu. Miałem ten sam problem z zainstalowanym jdk1.8. Zmień go na jdk 1.7.wprowadź opis obrazu tutaj

Poza tym, zgodnie z https://wiki.eclipse.org/Eclipse/Installation , zarówno LUNA, jak i MARS potrzebują 1.7. Więc po prostu upewnij się, że masz to zainstalowane.

Tiina
źródło
1

Mój to 64-bitowy system z 64-bitową instalacją Java. dla mnie zadziałało:

  1. Przejdź do katalogu instalacyjnego eclipse
  2. kliknij prawym przyciskiem myszy ikonę zaćmienia i kliknij „wyślij na pulpit jako skrót”
  3. Następnie kliknij prawym przyciskiem myszy ikonę skrótu na pulpicie, a następnie> właściwości> karta skrótu
  4. W polu docelowym wskaż poprawną ścieżkę domową instalacji 64-bitowych Java, używając argumentu vm ze ścieżką java_home ujętą w cudzysłowy:

    D: \ Scala_eclipse \ eclipse.exe -vm "C: \ Program Files \ Java \ jdk1.8.0_11"

    ikona skrótu scala eclipse

To prawie zawsze rozwiązuje wszystkie moje problemy związane z Eclipse (również zaćmieniem łusek). Jak wspomniano w odpowiedzi , upewnij się, że używasz właściwej kombinacji eclipse i java

Stormfield
źródło
1

1) Otwórz plik SpringToolSuite4.ini .
2) Wyszukaj plik openFile .
3) Podaj lokalizację pliku jvm.dll w SpringToolSuite4.ini
4) Uwaga: podaj nowy wiersz między -vm a ścieżką do lokalizacji pliku jvm.dll, jak pokazano poniżej.

openFile
-vm 
C:\Program Files\Java\jre8\bin\server\jvm.dll
-vmargs
-Dosgi.requiredJavaVersion=1.8
-Xms256m

wprowadź opis obrazu tutaj

Lova Chittumuri
źródło
to rozwiązało mój problem. Edytowałem -vm za pomocą c: \ Program Files \ Java \ jdk1.8.0_211 \ jre \ bin \ server \ jvm.dll Dziękuję Lova
tom johnes
0

tylko do dodania tutaj ...
Dla tych, którzy nadal nie mogli rozpocząć zaćmienia z powodu tego samego błędu, sprawdź ponownie plik eclipse.ini i zobacz, czy nie zapomnieliście wstawić Mrozmiaru pamięci. Na przykład:

-Xmx1024
or
-Xmx1024MB
or
-Xmx1024 M
or
-Xmx1024 mb
or
-Xmx1024mb

są nieprawidłowe, powinno być -Xmx1024M. Próbowałem różnych pomysłów z SOF i innych forów i w tym wycinaniu / wklejaniu zapomniałem, że przegapiłem M(taki drobiazg do przegapienia), więc pomyślałem, że powinienem się podzielić. Jeśli to zadziała w przypadku niektórych z was, prosimy o głosowanie w górę.

Paweł
źródło
0

Niedawno miałem ten problem, ale nie zmieniłem żadnej javy ani nie zaktualizowałem wersji java.Może ten problem wystąpił z powodu awaryjnego zamknięcia systemu.

Po przeczytaniu kilku odpowiedzi tutaj zdecydowałem się zmienić wersję javy z 1.6 na 1.7 w pliku eclipse.ini.

-vmargs
-Dosgi.requiredJavaVersion=1.6  

Po tej zmianie Eclipse zaczęło się dobrze i zadziałało. Ponieważ niczego nie zmieniłem, postanowiłem zmienić go z powrotem na 1.6 na to, co było pierwotnie.

Potem zacząłem zaćmienie i zgadnij, co zadziałało. Więc wygląda na to, że w moim przypadku wystarczyło dotknięcie / zmodyfikowanie pliku eclipse.ini.

Mam nadzieję, że ta odpowiedź jest komuś pomocna.

user_CC
źródło
0

Jeśli żadne z rozwiązań nie działa, sprawdź, czy na komputerze zainstalowano więcej niż jedną wersję oprogramowania Java. Zachowaj tylko jedną preferowaną wersję i wszystko powinno działać poprawnie.

Neo
źródło
0

Żadna z powyższych odpowiedzi nie pomogła mi. Odkryłem, że ogólnie taki błąd może oznaczać, że plik eclipse.ini zawiera nieprawidłowy wpis. Zatem wszystkie powyższe odpowiedzi mogą być poprawne, w zależności od konkretnego przypadku. W moim przypadku okazało się, że dodałem argument locale z literówką.

Richard
źródło
0

Próbowałem zmienić ścieżkę w parametrze -vm, ale to nie pomogło. Następnie usunąłem parametr -vm i -vmargs z eclipse.ini. U mnie to zadziałało

Koss
źródło
0

Moja ścieżka argumentacji -javaagent polegała na stosowaniu znaków przestrzennych, takich jak „&”. Położyłem słoik Lamboka w innym miejscu i wskazałem ścieżkę do tego miejsca. U mnie to zadziałało.

wcześniej tak było

-javaagent: C: \ Software & Tool \ lambok.jar

zmieniłem to na

-javaagent: C: \ Labmok \ lambok.jar

shreyansh pandey
źródło
-4

jeśli mówi, że c: / program files / java / jre / bin / server / jvm.dll nie został znaleziony, skopiuj jre z folderu jdk i wklej go poza folder jdk. a następnie spróbuj ponownie ...

user3337536
źródło
Nie jest to konieczne i nie wiem, jak to powinno pomóc. Mogą istnieć inne programy uzyskujące dostęp do tego środowiska jre, które później go już nie znajdą.
Calon