Nie udało się załadować biblioteki współdzielonej JNI (JDK)

928

Podczas próby otwarcia Eclipse pojawia się wyskakujące okno dialogowe:

Nie udało się załadować biblioteki współdzielonej JNI „C: /JDK/bin/client/jvm.dll”.

Następnie siła Eclipse zamyka się.

Oto kilka kwestii, które chciałbym przedstawić:

  • Sprawdziłem, czy coś istnieje na tej ścieżce. To istnieje.
  • Zarówno My Eclipse, jak i Java SE Development Kit są 64-bitowe. Sprawdziłem mój system i może obsłużyć 64-bit.
  • Szukałem tego problemu w Google i na przepełnieniu stosu, a jedyną odpowiedzią, jaką znalazłem, było pobranie 32-bitowych wersji JDK i Eclipse.

Pobieranie wersji 32-bitowych to coś, co chcę zrobić w ostateczności.
Co byłoby sugerowane, aby rozwiązać ten problem?

Mxyk
źródło
Jaki dokładnie był problem w twoim przypadku?
sjas,
4
Ku mojemu zdziwieniu zainstalowałem na moim komputerze około 5 Java. Nie tylko to, ale okazało się, że przypadkowo pobrałem 32-bitowe Eclipse. Tak więc odinstalowałem każdą Javę, którą miałem, usunąłem Eclipse (Eclipse nie ma „odinstalowania”) i pobrałem Eclipse Classic 64-bit na moją maszynę wraz z 64-bitową Javą (zobacz odpowiedź SPP na ten link).
Mxyk
2
Ponadto: jeśli ktoś ma problem z „usunięciem” swojego Eclipse (np. Folder nie zniknie bez względu na to, ile razy usuniesz go ręcznie lub z wiersza polecenia), spróbuj go usunąć w trybie awaryjnym z wierszem polecenia. Nie mam pojęcia dlaczego musiałem to zrobić, ale skończyło się to działaniem.
Mxyk
@MikeGates Miałem też ten problem, użyłem LockHunter. Nieprzyjemny. Uruchomienie tego narzędzia w systemie Windows to zdecydowanie za dużo pracy.
jcollum
Eclipse / Java jest do bani, jeśli chodzi o 64 bity, jest to ... hańba. Najlepsza rada, jaką mogę dać, to trzymać się tylko wersji 32-bitowej. Zaoszczędź mnóstwo czasu.
onknows 17.07.13

Odpowiedzi:

848

Potrzebujesz 64-bittrio:

  • 64-bit OS
  • 64-bit Jawa
  • 64-bit Zaćmienie
Peter Rader
źródło
Wyjaśnienie : Wyobraź sobie, że do aplikacji ładowany jest kod natywny (DLL). Teraz wyobraź sobie, że funkcja 32-bitowa chce wywołać funkcję 64-bitową lub podobną. To samo dotyczy wyrównywania, rozmiarów danych i wszystkiego. Chyba nie muszę nic więcej mówić = P
imacake,
@androiddeveloper Chyba miksujesz wiele wersji Java. Spróbuj użyć tylko 64 trio.
Ponury
Poprawnie! Mój laptop działa na systemie operacyjnym x64, ale zainstalowałem JDK x86. Właśnie zainstalowałem x64 jdk i problem zniknął. Dzięki.
Nguyen Minh Binh,
Ta odpowiedź nie jest do końca dokładna. Zdajesz nie trzeba uruchamiać 64-bitowe JDK i 64-bitową Eclipse jeśli jesteś na 64-bitowym systemie operacyjnym. 64-bitowy system operacyjny może równie dobrze uruchomić kombinację 32-bitowej Java + 32-bitowej wersji Eclipse. To, co musi pasować, to bity JRE / JDK i Eclipse.
E-Riz
1
@Tarik tak, jego 2015 rok i niestety edytor wizualnych stron (VPE) JBoss Tools wciąż czeka od lat na 64-bitową aktualizację. Spójrz na odpowiedź „Pary robocze” poniżej, na drugą parę. Wtyczka JBoss Tools-Plug jest powiązana z tą samą architekturą, którą pobrałeś Eclipse. Więc Eclipse (z JBossTools) musi być 32-bitowy, JDK musi być 32-bitowy, a system operacyjny może być 64-bitowy. 64-bitowe zaćmienie obecnie nie działa z JBoss Tools .... Pamiętam projekt o nazwie JBossIDE, który działa w Eclipse, powinieneś go użyć zamiast instalować JBossTools w Eclipse. Wstydź się, JBoss, wstydź się też w Mozilli.
Ponury
315

Pary robocze systemów operacyjnych, JDK i Eclipse:


  • 32-bit OS | 32-bit JDK | 32-bit Eclipse ( tylko wersja 32-bitowa )
  • 64-bit OS | 32-bit JDK | 32-bit Zaćmienie
  • 64-bit OS | 64-bit JDK| 64bit Zaćmienie (tylko 64-bitowe )

Miałem kilka zainstalowanych JDK i JRE.

Każdy z nich miał swój własny wpis w zmiennej PATH, wszystko działało mniej więcej.

Sądząc po zmiennych PATH, niektóre instalacje były całkowicie bezużyteczne, ponieważ nigdy nie były używane. Oczywiście do „nieaktywnego” języka Java można odwoływać się ręcznie z poziomu środowiska Eclipse, jeśli zajdzie taka potrzeba, ale nigdy tego nie zrobiłem, więc naprawdę ich nie potrzebowałem. (Przynajmniej tak myślałem w tym czasie ...)

Oczyściłem bałagan, odinstalowałem wszystkie obecne Java, zainstalowałem tylko JDK + JRE 1.7 64-bit.

Jedna z „instalacji” Eclipse zakończyła się niepowodzeniem z Failed to Load the JNI shared Libraryi podaną ścieżką w stosunku do świeżo zainstalowanego JDK tam, gdzie myślał, że jvm.dlltak jest.

Niepowodzenie Eclipse było jedynym ze wszystkich moich IDE, które wciąż były wersją 32-bitową w mojej konfiguracji, w przeciwnym razie wszystkie 64-bitowe.

Dodanie argumentów VM, jak często wspomniano, w eclipse.inimoim przypadku nie było sensu (ponieważ miałem tylko zły JDK / JRE, do którego mogłem się odnosić).

Nie byłem również w stanie dowiedzieć się, jak sprawdzić, czy to Eclipse było wersją 32-bitową lub 64-bitową (nie mogłem sprawdzić w Menedżerze zadań , ponieważ ta „instalacja” Eclipse nie mogła się uruchomić. minęło trochę czasu, odkąd go skonfigurowałem, nie pamiętam też jego wersji).

Jeśli używasz nowszego JDK i starszego środowiska JRE, możesz mieć kłopoty, ale wtedy bardziej prawdopodobne jest java.lang.UnsupportedClassVersionErrorpojawienie się, IIRC .

sjas
źródło
3
Powinien używać tylko pierwszego \ bin, do którego dochodzi w zmiennej Path
ekinnear
Mmmm, to zawsze jest pytanie ... Dokumenty Wyroczni mówią, że używa tylko pierwszego, ale może coś innego zostało zmienione / było już na miejscu i działało. Wydaje się, że zawsze jest to coś dziwnego.
ekinnear
8
aby sprawdzić, która wersja 32-bitowa lub 64-bitowa, otwórz eclipse.ini i poszukaj użytego programu uruchamiającego równonoc (np. org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.100.v20110502)
Steve Oh
Miałem tę kombinację z błędem. 64-bitowy system operacyjny - 32-bitowy JDK - 32-bitowy Eclipse i nie działa. Rozwiązałem go za pomocą tej kombinacji: 64-bitowy system operacyjny - 64-bitowy JDK - 64-bitowy Eclipse (tylko 64-bitowy). Zmienna% PATH% została zaktualizowana, aby wskazywała na 64-bitową wersję Java. W rzeczywistości% JAVA_HOME% został zaktualizowany, ponieważ ta zmienna jest używana do wartości zmiennej% PATH%.
thanos.a
1
To komentarz @ekinnear rozwiązał mój problem. Nie jestem pewien, dlaczego szukał pliku JVM.dll w moim folderze Windows / bin, ale wydaje się, że wprowadzenie właściwej ścieżki w miejscu go rozwiązało.
James
267

Upewnij się, że eclipse.iniplik zawiera następujące wiersze.

-vm
C:\path\to\64bit\java\bin\javaw.exe

Mój eclipse.inina przykład:

-startup
plugins/org.eclipse.equinox.launcher_1.1.1.R36x_v20101122_1400.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.2.R36x_v20101222
-product
org.eclipse.epp.package.java.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
256M
-showsplash
org.eclipse.platform
-vm
C:\Program Files\Java\jdk1.6.0_32\bin\javaw.exe
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx512m

Użyj systemu operacyjnego i Eclipse zarówno w wersji 64-bitowej, jak i w wersji 32-bitowej eclipse.ini.

Twój eclipse.iniplik można znaleźć w folderze Eclipse .

jayesh kavathiya
źródło
9
To rozwiązuje problem. Dodałem -vm C:\Program Files\Java\jdk1.6.0_32\bin\javaw.exelinię do mojego pliku eclipse.ini i wszystko zaczęło się dobrze. Dzięki za pomoc +1.
prolink007
1
działa dobrze, sprawdź swoją wersję Java, uruchom wersję java w konsoli i sprawdź, czy jest to wersja używana przez Eclipse, czy nie
jayesh kavathiya,
2
Zrobiłem to z moim pakietem SDK Java 6 i nie działało. Spróbowałem ponownie, wskazując na mój zestaw SDK Java 7 i zadziałało. Używam Windows 8 64-bit, Java 6 i 7 (oba 64-bit) i Eclipse Helios (32-bit). Byłem gotowy odinstalować i ponownie zainstalować Eclipse w wersji 64-bitowej, ale wygląda na to, że pakiet java 7 SDK zawiera nowe informacje umożliwiające lepsze działanie aplikacji 32-bitowych.
Ryan Shillington
9
to działa. ale trzeba umieścić -vm na początku pliku ini; przynajmniej przed -vmargs lub --launcher.xxx
pinkdawn
2
Bardzo, bardzo ważny punkt, za którym tęskniłem. Jeśli użyjesz: „-vm C: \ ProgramFiles \ Java \ jdk1.6.0_32 \ bin \ javaw.exe”, to nigdy nie będzie działać poprawnie. -Vm C: \ Program Files \ Java \ jdk1.6.0_32 \ bin \ javaw.exe "Nowa linia po -vm jest bardzo ważna.
School Boy
42

Ten błąd oznacza, że ​​architektura Eclipse nie jest zgodna z architekturą środowiska wykonawczego Java, tj. Jeśli jeden jest 32-bitowy, drugi musi być taki sam, a nie 64-bitowy.

Najbardziej niezawodną poprawką jest określenie lokalizacji JVM w eclipse.ini:

-vm
C:\Program Files (x86)\Java\jdk1.7.0_55\bin\javaw.exe

Ważne: Te dwie linie muszą znajdować się przed opcją -vmargs. Nie używaj cudzysłowów; spacje są dozwolone.

Peter Tseng
źródło
Cześć, pracuję od jakiegoś czasu przy tej konfiguracji .ini. Czy powinienem zaktualizować architekturę do wersji 64-bitowej, czy mogę zignorować fakt posiadania różnych architektur? Thx
Billyjoker
32

Inną opcją jest:

Utwórz skrót do Eclipse.exe. Otwórz skrót i zmień cel na:

"C:\Program Files\eclipse\eclipse.exe" -vm "c:\Program Files\Java\jdk1.7.0_04\bin\javaw.exe"

Podczas instalacji upewnij się, że lokalizacje wskazują prawidłowy katalog instalacyjny Eclipse i właściwy javaw.exekatalog instalacyjny.

(64-bitowe wersje Eclipse i Java muszą być oczywiście takie same).

spannow
źródło
Dobre opcje, ale dodanie go do pliku ini jak wyżej powinno działać
mr.user1065741,
2
Nie trzeba zmieniać pliku .ini. Wystarczy użyć 64-bitowej kombinacji dla java i eclipse
thanos.a
29

Mam zainstalowanych wiele wersji Java, zarówno Sun JDK & JRockit, zarówno 32-bitowych, jak i 64-bitowych itp., I napotkałem ten problem ze świeżą instalacją 64-bitowego Eclipse dla Java EE (JUNO).

Co NIE działało:

64-bitowe trio, zgodnie z sugestią Petera Radera:

Używam 64-bitowego Eclipse w 64-bitowym systemie operacyjnym (Windows 7).

Zapewniłem, że Sun JDK 7 64-bit jest domyślną wersją Java. Kiedy wpisałem „java -version” z wiersza poleceń (cmd.exe), zwrócił się Sun JDK 7 64-bit ...

java version "1.7.0"
Java(TM) SE Runtime Environment (build 1.7.0-b147)
Java HotSpot(TM) 64-Bit Server VM (build 21.0-b17, mixed mode)

To nie rozwiązało problemu dla mnie.

Co DID działa:

Dodanie opcji -vm do eclipse.ini zgodnie z sugestią Jayesh Kavathiya:

Dodałem następujące do eclipse.ini:

-vm
C:/apps/java/jdk7-64bit/bin/javaw.exe

Uwaga:

Nie musiałem odinstalowywać żadnej z różnych wersji JDK lub JRE, które mam na swoim komputerze.

Sunny Sarkar
źródło
Nie musiałem również odinstalowywać JDK, ale postanowiłem wyczyścić system, aby usunąć przyszłe przyczyny błędów. Wspomniałem również o argumentach VM i wyjaśniłem, dlaczego oczywiście nie mogą one dla mnie działać. To, jak chcesz skonfigurować system, zależy od tego, czego naprawdę potrzebujesz.
sjas,
Musiałem zrobić obie rzeczy, ale dodanie wiersza javaw.exe doprowadziło mnie do zainstalowania wszystkiego w wersji 64-bitowej. To zależy od tego, ile kary karmy jesteś zobowiązany zapłacić androidowi.
Josh
Rozwijam się od lat i bez zmian w moim systemie (o czym jestem świadomy), Eclipse zgłasza ten błąd. Dodanie opcji -vm rozwiązało to dla mnie, bez potrzeby zmiany jakichkolwiek innych ustawień lub cofania / ponownego instalowania.
Knossos,
18

W przypadku brakującego jvm.dllpliku możemy podać ścieżkę pliku dll w eclipse.inipliku jako

-vm
C:\Progra~1\Java\jdk1.6.0_38\jre\bin\server\jvm.dll

Ważne jest, aby usunąć wszelkie spacje na ścieżce i podwójne cudzysłowy. To zadziałało, kiedy usunąłem cytaty i spację.

Mam nadzieję, że to komuś pomoże.

Stalin Gino
źródło
1
Pomogło mi to zamiast -vm javaw.exe
amj
11

Miałem podobny problem. Zostało to rozwiązane w następujący sposób.

  • Przenieś Eclipse do Program Files (nie do Program Files (x86) ).
  • Usuń ścieżkę do 32-bitowej wersji Java ze zmiennej środowiskowej „path”.

Mam zainstalowane obie wersje Java, ale Eclipse nadal próbował używać wersji 32-bitowej.

misterfrb
źródło
10

Jasne, musisz mieć kompatybilną wersję JDK i Eclipse, ale musisz również dodać w eclipse.inipliku poniższe wiersze:

-vm
yourdrive\java\bin

Ustaw je jako pierwsze dwa wiersze eclipse.inipliku.

Deepak Tyagi
źródło
7

Jak wspomniało już wielu ludzi, jest to problem 32-bitowy i 64-bitowy zarówno w środowisku Eclipse, jak i Java . Nie można pomieszać wersji 32- i 64-bitowej. Ponieważ Eclipse nie używa JAVA_HOME, prawdopodobnie będziesz musiał zmienić PATH przed uruchomieniem Eclipse, aby upewnić się, że używasz nie tylko odpowiedniej wersji Java, ale także 32- lub 64-bitowego pliku (lub zmodyfikuj plik INI, jak zauważył Jayath) .

Jeśli instalujesz Eclipse z udziału firmy, powinieneś upewnić się, że wiesz, którą wersję Eclipse rozpakowujesz, i rozpakuj do odpowiedniego katalogu Program Files, aby śledzić, który jest, a następnie zmień ŚCIEŻKĘ (na stałe za pomocą ( Windows) Panel sterowania -> System lub zestaw PATH=/path/to/32 or 64bit/java/bin;%PATH%(może utworzyć plik wsadowy, jeśli nie chcesz go ustawiać w systemie i / lub zmiennych środowiskowych użytkownika) Pamiętaj, że 32-bit znajduje się w plikach programu (x86) .

Jeśli nie jesteś pewien, po prostu uruchom Eclipse, jeśli pojawi się błąd, zmień PATH na inną „bitową” wersję Javy, a następnie spróbuj ponownie. Następnie przenieś katalog Eclipse do odpowiedniego katalogu Program Files .

Marc Towersap
źródło
To oczywisty problem, ponieważ ta strona ma obecnie 700 tys. Wyświetleń ... a rok później najwyraźniej nie ma poprawki, która nie wymaga przeszukiwania zmiennych środowiskowych tylko po to, aby uruchomić IDE!
Ciaran Gallagher,
6

Alternatywnie, pobierz tę samą „bitową” wersję JRE i Eclipse, a następnie utwórz nowy skrót z poniższym celem (zamień zainstalowane środowisko JRE i Eclipse / ścieżka):

"C:\studio\eclipse.exe" -vm "C:\Program Files\Java\jre7\bin\server\jvm.dll" eclipse.vm="C:\Program Files\Java\jre7\bin\server\jvm.dll" java.home="C:\Program Files\Java\jre7" java.runtime.version=1.7.0

To powinno wystarczyć.

Kevin Yap
źródło
6

Możesz rozwiązać ten problem, jak wiele innych replikowanych. Potrzebujesz Eclipse i JDK w wersji 32-bitowej lub obu w wersji 64-bitowej . Architektura systemu operacyjnego nie ma znaczenia, podczas gdy pozostałe pozostają w tym samym typie architektury.

Ignacio
źródło
6

Odpowiedzi nade mną tak mnie kusiły, że postanowiłem uruchomić na sucho wszystkie możliwe kombinacje z OS, Eclipse i trio JVM . W każdym razie, kto kopie i czyta mój post, sprawdź poniższe jako gorący punkt (jestem użytkownikiem systemu Windows 7).

  1. Rozumiesz, że pliki programu i plik programu (x86) to dwa różne foldery ... x86 oznacza 32-bitową wersję programu, a pierwsza to wersja 64-bitowa.

  2. Jeśli masz wiele wersji Java zainstalowanych z różnymi wersjami bitów i wydań, co prawdopodobnie stanie się z wieloma IDE open source , menedżerami, konsolami administracyjnymi, najlepszą opcją jest ustawienie argumentu VM bezpośrednio w eclipse.inipliku. Jeśli tego nie zrobisz, Eclipse zwariuje i spróbuje przeszukać siebie, co nie jest dobre.

sayannayas
źródło
5

Jednym z łatwych sposobów rozwiązania tego problemu jest skopiowanie jrefolderu z zainstalowanego JDK do folderu instalacyjnego Eclipse. Upewnij się, że JDK, z którego kopiujesz, ma taką samą architekturę jak instalacja Eclipse.

Musiałem w ten sposób skonfigurować moją maszynę, ponieważ na moim komputerze uruchamiam zarówno Eclipse, jak i Appcelerator Titanium Studio . Studio wymaga 32-bitowej wersji Java, a Eclipse wymaga wersji 64-bitowej.

Mike Starov
źródło
Zrobiłem to samo dawno temu, ale w przypadku eclipse-jee-juno-SR1-win32 i Java6, tym razem nie mogłem go uruchomić. Czy edytowałeś także eclipse.ini z bezwzględną ścieżką do środowiska Jre?
user77115,
Mam również Eclipse 64 szerokość jdk 7 64bit, ale tytanowy wysoki mnie nie jest w stanie załadować biblioteki współdzielonej jni.
realtebo
Z powodu szalonych automatycznych aktualizacji Windows, ilekroć pojawia się aktualizacja JAVA, blokuje ona uruchomienie mojego Eclipe. Powyższe rozwiązanie jest najłatwiejszym sposobem na samodzielną pracę bez dbania o automatyczne aktualizacje. Dzięki!
Jyo the Whiff
4

Tak, po prostu upewnij się, że twoje wersje Eclipse i JDK są 64-bitowe. Tylko po to, aby upewnić się, że wszystko jest w porządku, odinstaluj JDK i zainstaluj go w Program Files, a nie w Program Files (x86) . Przynajmniej to rozwiązało mój problem.

Jeena
źródło
4

Wystarczy sprawdzić zmienną środowiskową PATH. W oknie Mój komputer -> Właściwości -> Zaawansowane ustawienia systemu -> Zmienne środowiskowe -> (lewe górne okno „Zmienne użytkownika dla„ nazwy komputera ””) wystarczy sprawdzić zmienną PATH. Jeśli nie istnieje, utwórz go za pomocą następującego -> C: \ Program Files (x86) \ Java \ jre7 \ bin <-

Ten sam problem miałem po tym, jak zaktualizowałem Eclipse. Odkryłem, że ścieżka pyta o wersję 64-bitową, ale mam 32-bitową ścieżkę dif. To było dla mnie pomocne. PS: Mam 64-bitowy system operacyjny, 32-bitową wersję JRE i 32-bitową wersję Eclipse. Wszystko działa dobrze :)

użytkownik1600401
źródło
4

Powinieneś odinstalować wszystkie stare [JRE] [1], a następnie zainstalować najnowszy ... Miałem ten sam problem i teraz go rozwiązuję. Ja:

Lepiej zainstaluj Jre 6 w wersji 32-bitowej. To naprawdę działa.

Marcin Erbel
źródło
3

Pobrałem 64-bitową maszynę JVM z witryny i zainstalowałem ją ręcznie oraz zaktualizowałem zmienną ścieżki systemowej. To rozwiązało problem.

  1. Domyślna JVM jest zainstalowana w moim systemie w „C: \ Program Files
    (x86) \ Java \ jre7”
  2. Ręcznie zainstalowana maszyna JVM została zainstalowana w „C: \ Program Files \ Java \ jre7” i po zaktualizowaniu tego pate do zmiennej ścieżki systemowej działała.
Satya
źródło
3

Dziękuję misterfrb , zdałem sobie sprawę, że Eclipse podaje ten błąd, ponieważ właśnie zainstalowałem pakiet Oracle 10g Developer Suite i szukał jvm.dllpliku w C:\DevSuiteHome_1folderze (musiałem ponownie zainstalować JDK wraz z pakietem dewelopera).

Po usunięciu linii DevSuiteHome ze zmiennej paths i dodaniu lokalizacji korekty dla wersji 64-bitowej jvm.dll(nie jestem pewien, czy było to konieczne, nie próbowałem bez), Eclipse znów działało, a pakiet deweloperski nadal działa.

Unegma
źródło
3

Proste, mam 64-bitowy system operacyjny, 32-bitowe środowisko Eclipse i zarówno JDK 32, jak i 64 ... Właśnie odinstalowałem 64-bitowy JDK i Eclipse działa dobrze ..

PushkarHJoshi
źródło
3

Miałem ten sam problem po aktualizacji z Java 6 do Java 7. Po usunięciu Java 6 (64-bit) i ponownej instalacji Java 7 (64-bit), Eclipse działało. :)

Supun Sameera
źródło
3

Bardzo ważne jest dodanie parametru -vm i jego wartości w 2 liniach NA POCZĄTKU pliku eclipse.ini

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

Rolf
źródło
3

Chcę uprzedzić inne rozwiązanie tego błędu, szczególnie dla tych, którzy chcą używać 32-bitowego i 64-bitowego Eclipse w jednym systemie.

Eclipse uruchomi się przy użyciu JRE / JDK w jrepodkatalogu, jeśli istnieje. (STE lub inne IDE oparte na zaćmieniu również obsługują tę funkcję ...)

Rozwiązaniem jest utworzenie połączenia katalogu za pomocą mklink.exepolecenia istniejącego w Windows Vista lub nowszej wersji ( junction.exe oferuje podobną funkcję dla Windows 2000 / XP)
Otwórz okna wiersza poleceń i wykonaj następujące polecenie:

mklink / j "$ ECLIPSE-HOME / jre" "$ JDK_or_JRE_home"

Oczywiście, jeśli Eclipse jest dla 64-bitowego systemu Windows, architektura JDK/JREmusi być taka sama.

Założyć:

  • Eclipse for windows x86_64jest zainstalowany w d: \ devTool \ eclipse
  • JDK for windows x64jest zainstalowany w C: \ Program Files \ Java \ jdk1.8.0

Poleceniem do utworzenia jrefolderu będzie:

mklink / j "d: \ devTool \ eclipse \ jre" "C: \ Program Files \ Java \ jdk1.8.0"

BTW, usuń połączenie katalogu NIE usunie żadnego pliku. Jeśli utworzysz niewłaściwy link, możesz go usunąć za pomocą eksploratora plików lub rmdirpolecenia.

rmdir "d: \ devTool \ eclipse \ jre"

Beck Yang
źródło
2

Upewnij się, że uruchamiasz Eclipse z uprawnieniami administratora.

Tutaj do pomocy
źródło
2

Jeśli używasz całego 64-bitowego trio i nadal nie działa (doszedłem do tego problemu podczas uruchamiania monitora Android w programie Intellij Idea), prawdopodobnie używany jest niewłaściwy plik jvm.dll, w przeciwieństwie do tego, czego oczekuje Twoja Java. Wystarczy wykonać następujące kroki:

  1. Znajdź plik jvm.dll w katalogu JRE: C:\Program Files\Java\jre7\server\bin\jvm.dll

  2. Znajdź plik jvm.dll w katalogu JDK: c:\Program Files\Java\jdk1.7.0_xx\jre\bin\server\

  3. Skopiuj jvm.dlldctory z JRE do katalogu JDK i zastąp jvm.dll w JDK.

Na wszelki wypadek nie zapomnij wykonać kopii zapasowej. Nie trzeba instalować ani odinstalowywać niczego związanego z Javą.

rootpd
źródło
2

To samo przyszło mi do głowy. Miałem 64-bitowe środowisko Eclipse, ale mój JDK był 32-bitowy. Więc zainstalowałem wersję 64-bitową i teraz jest OK.

felipe.zkn
źródło
2

Nie jestem pewien, dlaczego, ale zainstalowałem jre w moim katalogu c: \ windows oraz java.exe i javaw.exe w katalogu Windows \ system32.

Oczywiście katalogi te miały priorytet nawet PO dodaniu flagi -vm do mojego pliku eclipse.ini.

Usuń je stąd, naprawiłem problem.

Guy Lowe
źródło
2

Zmieniłeś odpowiednią wersję JAVA_HOME i PATH w zmiennych środowiskowych.

Sreedhar GS
źródło
1

Na stronie pobierania Eclipse należy wpisać „JRE 32 bity” lub „JRE 64 bity”, a nie „Windows 32 bity” lub „Windows 64 bity”.

Pamiętaj, aby użyć poprawnej wersji zgodnej z twoim JDE, jak już wcześniej odpowiedziałem.

A_rnO
źródło