it-swarm-tr.com

JNI paylaşılan Kütüphanesi (JDK) yüklenemedi

Eclipse öğesini açmaya çalıştığımda, bir açılır iletişim kutusu şöyle diyor:

JNI paylaşılan kütüphane "C: /JDK/bin/client/jvm.dll" `dosyasını kaydetmede başarısız oldu.

Bunu takiben Eclipse kuvveti kapanır.

İşte belirtmek istediğim birkaç nokta:

  • Bu yolda bir şey olup olmadığını kontrol ettim. Var.
  • Eclipse ve Java SE Geliştirme Seti 64 bitliktir. Sistemimi kontrol ettim ve 64-bit kullanabilir.
  • Bu soruyu Google’da ve Yığın Taşması’nda aradım ve bulduğum tek cevap JDK ve Eclipse’in 32 bit sürümlerini indirmek oldu.

32 bit sürümleri indirmek sadece son çare olarak yapmak istediğim bir şey.
Bu sorunu çözmek için ne önerilebilir?

895
Mxyk

64-bit üçlüsüne ihtiyacınız var:

  • 64 bit işletim sistemi
  • 64 bit Java
  • 64-bit Tutulma
826
Peter Rader

OS, JDK ve Eclipse'in çalışma çiftleri:


  • 32-bit işletim sistemi - 32-bit JDK - 32-bit Eclipse (yalnızca 32-bit)
  • 64 bit işletim sistemi - 32 bit JDK - 32 bit Eclipse
  • 64 bit işletim sistemi - 64 bit JDK - 64 bit Tutulma (yalnızca 64 bit)

Birkaç JDK ve JRE kullanmıştım.

Her birinin PATH değişkenine kendi girişi vardı, hepsi az ya da çok çalışıyordu.

PATH değişkenlerine bakılırsa, bazı kurulumlar hiç kullanılmadıklarından tamamen yararsızdı. Tabii ki, "etkin olmayan" Javas, gerektiğinde Eclipse içinden manuel olarak referans verilebilirdi, ancak bunu hiç yapmadım, bu yüzden gerçekten de onlara ihtiyacım olmadı. (En azından o zaman böyle düşündüm ...)

Ortamı temizledim, mevcut tüm Java'ları kaldırdım, yalnızca JDK + JRE 1.7 64-bit kurdum.

Eclipse 'teçhizatlarından biri daha sonra Failed to Load the JNI shared Library ve jvm.dll olarak düşündüğü yeni kurulmuş JDK'ya göre verilen bir yol ile başarısız oldu.

Başarısız olan Eclipse, aksi takdirde tüm 64 bit kurulumumda hala 32 bit sürüm olan tüm IDE'lerimden yalnızca biriydi.

VM argümanlarını eklemek, sıkça bahsedildiği gibi, Eclipse.ini 'da benim durumumda kullanılmamıştı (çünkü ilişkide sadece yanlış JDK/JRE vardı.)

Ayrıca bu Eclipse'nin 32-bit veya 64-bit bir sürüm olup olmadığını nasıl kontrol edemediğimi de bulamadım (Bu Eclipse 'kurulumu' başlayamayacağından Task Manager de bulamadım. Ve kurduğumdan beri bir süre geçtiğinden, versiyonunu da hatırlayamadım.)

Daha yeni bir JDK ve daha eski bir JRE kullanıyorsanız, başınız belaya girebilir, ancak o zaman muhtemelen bir Java.lang.UnsupportedClassVersionError belirir, IIRC .

302
sjas

Eclipse.ini dosyanızın aşağıdaki satırları içerdiğinden emin olun.

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

Örneğin Eclipse.ini:

-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

İşletim sistemi ve Eclipse kullanın, hem 64 bit hem de 32 bit aynı kalır ve config Eclipse.ini .

Eclipse.ini dosyanız Eclipse klasörünüzde bulunabilir.

256
jayesh kavathiya

Bende aynı problem vardı

64 bit JVM'yi yükleyerek çözdüm.

http://www.Java.com/tr/download/manual.jsp

58
Farm

Bu hata, Eclipse mimarisinin Java çalışma zamanının mimarisiyle eşleşmediği anlamına gelir, yani 32 bit ise diğeri 64 bit değil aynı olmalıdır.

En güvenilir düzeltme Eclipse.ini içindeki JVM konumunu belirlemektir:

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

Önemli: Bu iki satırın gelmesi gerekir önce -vmargs. Tırnak kullanmayın; boşluk bırakılabilir.

38
Peter Tseng

Başka bir seçenek:

Eclipse.exe'ye bir kısayol oluşturun. Kısayolu açın ve hedefi şu şekilde değiştirin:

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

Kurulumunuz için, konumların doğru Eclipse kurulum dizinine ve doğru javaw.exe kurulum dizinine işaret ettiğinden emin olun.

(Eclipse ve Java'nın 64/32 bit sürümlerinin elbette aynı olması gerekir.)

33
spannow

Hem Java hem de Sun JDK ve JRockit, hem 32 bit hem de 64 bit olmak üzere birden fazla Java sürümü kullandım ve Java EE (JUNO) için 64 bit Eclipse'in yeni bir yüklemesinde bu sorunla karşılaştım.

Ne DEĞILiş:

Peter Rader'in önerdiği gibi 64-bit üçlüsü:

64 bit işletim sisteminde 64 bit Eclipse kullanıyorum (Windows 7).

Sun JDK 7 64-bit'in varsayılan Java sürümü olduğundan emin oldum. Komut satırından (cmd.exe) "Java -version" yazdığımda, Sun JDK 7 64-bit döndürüldü ...

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)

Bu benim için sorunu çözmedi.

Ne _ _iş:

Jayesh Kavathiya'nın önerdiği gibi Eclipse.ini dosyasına -vm seçeneği eklendi:

Aşağıdakileri Eclipse.ini'ye ekledim:

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

Not:

Makinemde bulunan JDK veya JRE'nin çeşitli sürümlerinden herhangi birini kaldırmak zorunda değildim.

30
Sunny Sarkar

Kayıp bir jvm.dll dosyası için, dll dosyasının yolunu Eclipse.ini dosyasında sağlayabiliriz.

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

Burada yoldaki herhangi bir boşluğu ve çift tırnak işaretini kaldırmak önemlidir. Alıntılar ve boşluk kaldırdığınızda benim için çalıştı.

Umarım birine yardımcı olur.

18
Stalin Gino

Ben de benzer bir problem yaşadım. Aşağıdakileri yaparak çözüldü.

  • Eclipse'i Program Dosyalarına (Programlara Program Dosyalarına (x86) ) götürmeyin.
  • Java'nın 32 bit sürümüne giden yolu 'path' ortam değişkeninden kaldırın.

Java'nın iki sürümü de yüklü, ancak Eclipse 32-bit'i kullanmaya devam etti.

11
misterfrb

Elbette, uyumlu bir JDK ve Eclipse sürümüne sahip olmanız gerekir, ancak Eclipse.ini dosyasına aşağıdaki satırları da eklemeniz gerekir:

-vm
yourdrive\Java\bin

Onları Eclipse.ini dosyanızın ilk iki satırı yapın.

10
Deepak Tyagi

Zaten birçok kişi bahsettiğinden, bu hem Eclipse ve Java için 32'ye 64 bitlik bir problemdir. 32 ve 64 bit kadar karıştıramazsınız. Eclipse Java_HOME öğesini kullanmadığından, yalnızca uygun Java sürümünü değil, 32 veya 64 bit kullanıyorsanız (ya da INI ayarını değiştirdiğinizden emin olmak için Eclipse'yi başlatmadan önce PATH'inizi değiştirmeniz gerekecektir. Jayath'ın belirttiği gibi dosya).

Eclipse'i bir şirket paylaşımından yüklüyorsanız, hangi Eclipse sürümünü çıkardığınızı söyleyebildiğinizden emin olun ve hangisinin hangisi olduğunu takip etmek için uygun Program Dosyaları dizinini açın. PATH (kalıcı olarak (Windows) Denetim Masası -> Sistem aracılığıyla veya PATH=/path/to/32 or 64bit/Java/bin;%PATH% değerini ayarlayın (sisteminizde ve/veya kullanıcı ortamı değişkenlerinde ayarlamak istemiyorsanız bir toplu iş dosyası oluşturabilirsiniz).Program dosyaları (x86).

Emin değilseniz Eclipse'i çalıştırın, hatayı alırsanız PATH'nizi Java'nın diğer 'bit' sürümüyle değiştirin ve sonra tekrar deneyin. Sonra Eclipse dizinini uygun Program Dosyaları dizinine taşıyın.

8
Marc Towersap

Alternatif olarak, JRE ve Eclipse ile aynı "bit" sürümünü alın ve sonra aşağıdaki hedefle yeni bir kısayol oluşturun (yüklü JRE ve Eclipse konumunu/yolunu değiştirin):

"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

Bu hile yapmalı.

7
Kevin Yap

Bu problemi diğer birçok kopya gibi çözebilirsiniz. Buna ihtiyacınız var Eclipse ve JDK / 32-bit ya da her ikisi de 64-bit . İşletim sisteminin mimarisi farketmez, diğerleri aynı tip mimaride kalır.

7
Ignacio

Üstümdeki cevaplar beni çok etkiledi, OS, Eclipse ve JVM trio ile mümkün olan tüm kombinasyonları kurutmaya karar verdim. Neyse, kim kazıp gönderiyi okuyorsa, aşağıdakileri sıcak nokta olarak kontrol edin (Ben Windows 7 kullanıcısıyım).

  1. Anladığınız Program Dosyaları ve Program Dosyası (x86) iki farklı klasördür ... x86 programların 32-bit sürümü anlamına gelir ve önceki 64 bit sürümü.

  2. Çok sayıda açık kaynaklı IDE'ler , yöneticiler, yönetim konsolları ile gerçekleşmesi zorunlu olan farklı bitlik ve yayın sürümleriyle yüklü Java sürümlerinin çoklu sürümleri varsa, en iyi seçenek VM argümanı doğrudan Eclipse.ini dosyasında. Bunu yapmazsanız, Eclipse çılgına döner ve iyi olmayan kendi kendine arama yapmayı dener.

6
sayannayas

Bunu çözmenin kolay yollarından biri, jre klasörünü JDK'nın kurulu olduğundan Eclipse yükleme klasörüne kopyalamaktır. Kopyaladığınız JDK'nin Eclipse kurulumunuzla aynı mimari olduğundan emin olun.

Makinemi bu şekilde yapılandırmalıydım çünkü hem Eclipse hem de Appcelerator Titanium Studio 'yu makinemde çalıştırdım. Studio 32-bit Java'ya, Eclipse ise 64-bit'e ihtiyaç duyar.

6
Mike Starov

Sadece PATH ortam değişkenini kontrol edin. İçinde Bilgisayarım -> Özellikler -> Gelişmiş Sistem ayarlar -> - Çevre Değişkenleri -> (sol üst pencere "" bilgisayarın adı "" için Kullanıcı Değişkenleri ") PATH değişkenini kontrol edin. Var değilse, aşağıdakileri oluşturun: - C:\Program Files (x86)\Java\jre7\bin <-

Eclipse'imi güncelledikten sonra da aynı sorunla karşılaştım. Yolun 64-bit sürümü istediğini öğrendim, ancak 32-bit dif yolundaydı. Benim için yardımcı oldu. P.S .: 64-bit işletim sistemli, 32-bit JRE ve 32-bit Eclipse var. Her şey yolunda :)

5
user1600401

Evet, Eclipse ve JDK sürümlerinin 64 bit olduğundan emin olun. Her şeyin doğru yapıldığından emin olmak için JDK'nın kaldırılması ve Program Files dizinine Program Files (x86) dizinine yüklenmemesi. En azından bu benim sorunumu çözdü.

5
Jeena

Tüm eski [JREs] [1] 'i kaldırmanız ve en yenisini kurmanız gerekir ... Aynı sorun vardı ve şimdi çözüyorum. Ben sahibim:

Jre 6 32 bit'i daha iyi kurun. Gerçekten çalışıyor.

5
Marcin Erbel

Java 6'dan Java 7'ye yükselttikten sonra da aynı sorunu yaşadım. Java 6'yı (64 bit) çıkardıktan ve Java 7'yi (64 bit) yeniden yükledikten sonra Eclipse çalıştı. :)

4
Supun Sameera

Thank you misterfrb , Eclipse’in bu hatayı verdiğini farkettim, çünkü Oracle 10g Developer suite kurdum, ve jvm.dll klasöründe C:\DevSuiteHome_1 dosyasını arıyordu (seçmeliydim) JDK'yı geliştirici paketi ile birlikte tekrar yüklemek için).

DevSuiteHome çizgilerini yollar değişkeninden çıkardıktan ve 64 bit jvm.dll için düzeltme konumunu ekledikten sonra (bunun gerekli olup olmadığından emin olmadı), Eclipse yine çalıştı ve Geliştirici paketi de yine de çalışıyor.

4
Unegma

Siteden 64 bit JVM indirilmiş ve manuel olarak kurulmuş ve sistem yolu değişkenini güncellemiştir. Bu sorunu çözdü.

  1. Varsayılan JVM sistemimde yüklü "C:\Program Files
    (X 86)\Java\jre7"
  2. Elle yüklenen JVM, "C:\Program Files\Java\jre7" içine kuruldu ve bu pate, sistem yolu değişkenine güncelledikten sonra çalıştı.
4
Satya

Basit, 64-bit işletim sistemim var, 32-bit Eclipse ve her ikisi de JDK 32 & 64 yüklü ... Sadece 64-bit JDK'yi kaldırdım ve Eclipse iyi çalışıyor ..

4
PushkarHJoshi

Özellikle bir sistemde 32 bit ve 64 bit Eclipse kullanmak isteyenler için, bu hatanın başka bir çözümünü önlemek istiyorum.

Eclipse, varsa jre alt dizinindeki JRE/JDK kullanarak başlatılır. (STS veya diğer Eclipse tabanlı IDE ayrıca bu özelliği destekliyor ...)

Çözüm, Windows Vista'da veya daha yeni bir sürümde bulunan mklink.exe komutunu kullanarak dizin bağlantısı oluşturmaktır ( junction.exe / Windows 2000/XP için benzer işlevi sunar)
Komut satırı pencerelerini açın ve aşağıdaki komutu çalıştırın:

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

Tabii ki, Eclipse 64-bit Windows için ise, JDK/JRE mimarisinin aynı olması gerekir.

Varsayalım:

  • Eclipse for windows x86_64d:\devTool\Eclipse içine yüklenir
  • JDK for windows x64C:\Program Files\Java\jdk1.8.0 içine yüklenir

jre klasörünü oluşturma komutu şöyle olacaktır:

mklink/j "d:\devTool\Eclipse\jre" "C:\Program Dosyaları\Java\jdk1.8.0"

BTW, dizin kavşağını sil, DEĞIL herhangi bir dosyayı silecektir. Yanlış bir bağlantı oluşturursanız, dosyayı Explorer veya rmdir komutunu kullanarak silebilirsiniz.

rmdir "d:\devTool\Eclipse\jre"

3
Beck Yang

-Vm parametresini ve değerini 2 satıra eklemek çok önemlidir AT Eclipse.ini'nin başlangıcı

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

3
Rolf

Eclipse'i Yönetici haklarıyla başlattığınızdan emin olun.

3
Here to Help

Çevresel değişkenlerde Java_HOME ve PATH öğelerinin uygun sürümlerini değiştirdiniz.

2
Sreedhar GS

Eclipse'in indirme sayfasında, "JRE 32 bit" veya "JRE 64 bit" yazılmalı ve "Windows 32 bit" veya "Windows 64 bit" yazılmamalıdır.

Daha önce cevaplandığı gibi JDE'nizle uyumlu doğru sürümü kullandığınızdan emin olun.

2
A_rnO

64-bit bir makineye JDK 'in 32-bit sürümünü yükleyebilirsiniz. Bkz.JDK 7 indirmeleri.

2

64 bit üçlüsünün tamamını kullanıyorsanız ve hala çalışmıyorsa (Intellij Idea'da Android Monitor'ü başlatırken bu soruna geldim), muhtemelen yanlış jvm.dll, Java'nızın beklediği şeyin aksine kullanılıyordur. Sadece şu adımları izleyin:

  1. JRE dizininizdeki jvm.dll dosyasını bulun: C:\Program Files\Java\jre7\server\bin\jvm.dll

  2. JDK dizininizdeki jvm.dll dosyasını bulun: c:\Program Files\Java\jdk1.7.0_xx\jre\bin\server\

  3. jvm.dll dosyasını JRE dizininden JDK dizininize kopyalayın ve JDK'deki jvm.dll dosyasının üzerine yazın.

Durumda, yedeklemeyi unutma. Java ile ilgili herhangi bir şey yüklemenize veya kaldırmanıza gerek yoktur.

2
rootpd

Aynısı bana da oldu. 64-bit Eclipse'im vardı, ama JDK'm 32-bit'ti. Bu yüzden 64 bit sürümünü kurdum ve şu anda sorun yok.

2
felipe.zkn

Nedenini bilmiyorum ama c:\windows dizinine ve Java.exe ve javaw.exe dosyalarına windows\system32 dizinine yükledim.

Açıkçası bu dizinler Eclipse.ini dosyama -vm bayrağını eklemekten SONRA bile öncelik kazanıyorlardı.

Buradan sil onları benim için sorunu düzeltti.

2
Guy Lowe

Ve PDT kullanıcıları için - avoid _ Zend indirme sayfası - bağlı 64-bit indirme yoktur.

Elipse sitesinin kendisi öğesini kullanın.

Yukarıdaki bağlantı daha eski bir 3.6 Eclipse'e sahipti ve bu durum Eclipse Bug # 317785 nedeniyle kendini güncelleyemedi.

Çözümüm, 64 bitin yanı sıra 32 bit Java'yı da yüklemekti - bu, Zend yükleyicisinin çalışmasına izin verdi.

Bir PHP IDE edinmek için bir Java/Eclipse korsanının geçmesi gerekmiyor.

2
cloakedninjas

Benim durumumda, Prompt komutundan Java'yı başlatmaya çalıştım ve bu hatayı aldım.

Hata: "C:\Windows\jre\lib\AMD64\jvm.cfg" açılamadı

Bu yanlış dizinden başlayarak PATH'te "Java" arandığı anlamına geliyordu. C:\Windows\jre\klasörünü silmek sorunu çözdü

1
Federico Giorgi

Tüm Eclipse hatalarını yaşadım ve bu onlardan biri. Sorun Eclipse 64-bit versiyonudur. 32 bit sürümü indirin ve başlatın.

0
sadegh saati

En kolay çözüm Eclipse.ini'ye belirli bir JRE eklemektir:

wiki.Eclipse.org/Eclipse.ini

Bu sayede neredeyse tüm Eclipse sürümlerini başlatabilirsiniz.

0
keesp

Ben de aynı problemi yaşadım. 64bit os ile tüm 64bit olmalıdır. Java ve Eclipse. Tüm metodları stackoverflow'ta ve ayrıca youtube'da denedim. bu kolay yöntemi bulana kadar bunlardan hiçbiri benim için çalıştı.

Cnet'i indiren 64bit Java formunu yükledim ve sorun otomatik olarak çözüldü. Kaynaktan bahsetmiştim, çünkü yeni bir arıysanız google ve resmi siteden ziyade ilk Cnet tenekesine gitmek çok kolay.

not; Android ADT paketiniz varsa ve Eclipse'i açmaya çalıştıysanız ve aynı hatayı aldıysanız, bu sorunu da bu yöntemle düzeltebilirsiniz.

0
Priyankara

Bu hatanın nedeni farklı Java sürümünün 32 bit sürümünü indirmesidir.

0
vaquar khan

JDK 1.8._91 (karışık mod) kurulumu bunun için başka bir çözüm!

0
HaryTD