ไม่สามารถโหลดไลบรารีที่แชร์ JNI เมื่อเริ่มต้น Eclipse


27

ฉันดาวน์โหลด Eclipse เวอร์ชันล่าสุดแล้ว แต่ไม่สามารถเริ่มได้

ข้อความแสดงข้อผิดพลาดที่ฉันได้รับคือ:

ไม่สามารถโหลดไลบรารีที่แชร์ JNI "C: \ Program Files (x86) \ Java \ jdk1.6.0_20 \ bin .. \ jre \ bin \ client \ jvm.dll"

ฉันจะแก้ไขสิ่งนี้ได้อย่างไร

ฉันใช้ Windows 64 บิต, JDK 32 บิตและดาวน์โหลด Eclipse 64 บิต


มันแปลกมาก jvm.dll ควรอยู่ใน C: \ Program Files (x86) \ Java \ jdk1.6.0_20 \ jre \ bin \ client \ jvm.dll ไม่ใช่ใน C: \ Program Files (x86) \ Java \ jdk1.6.0_20 \ bin \ ...
AndrejaKo

คำตอบ:


34

สิ่งนี้มักจะเกิดขึ้นถ้าคุณมีความไม่ตรงกัน 32- กับ 64- บิตระหว่างรุ่น JDK และ Eclipse ที่ติดตั้ง!

Eclipse รุ่นของคุณกำลังพยายามเข้าถึง JDK 32 บิต (ตามที่ระบุโดยC: \ Program Files (x86) ) แต่อาจล้มเหลวเนื่องจาก Eclipse คาดว่าจะเป็น JDK 64 บิตหรือเพราะ JDK 32 บิตนั้นหายไป - ดังนั้น คุณจะต้องตรวจสอบให้แน่ใจว่าตรงกับรุ่น Eclipse และ JDK อย่างชาญฉลาด


ฉันใช้ Windows 64 บิต, JDK 32 บิตและดาวน์โหลด Eclipse 64 บิต ตอนนี้ด้วย Eclipse 32 บิตมันทำงานได้ดีขึ้นขอบคุณ
Jonas

@Jonas - ฉันลบข้อผิดพลาดที่ผิดพลาดเกี่ยวกับเวอร์ชันที่ติดตั้งแล้วขอบคุณสำหรับการชี้สิ่งนี้โดยระบุการตั้งค่าของคุณ
Steffen Opel

3

ฉันติดตั้งทั้ง JDK และ Eclipse 64 บิตแล้ว แต่มีปัญหาเดียวกัน ...

ในที่สุดฉันก็ค้นพบว่า%PATH%ตัวแปรระบบของฉันไม่ได้รวมโฟลเดอร์ อย่าลืมเปลี่ยนเป็นโฟลเดอร์ที่ถูกต้องที่ติดตั้ง JDK \ bin ของคุณ ทำงานให้ฉัน


2
-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/jre/bin
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx512m

ใช้ eclipse และ os ทั้ง 64 บิตหรือทั้ง 32 บิต


1

บน Windows 7 คุณมีโอกาสใช้ลิงก์สัญลักษณ์ภายใต้ยูนิกซ์

ดังนั้นด้วยcmd(เรียกใช้ในฐานะผู้ดูแล) ให้เรียกใช้สิ่งต่อไปนี้: mklink /d jdk jdk-versionnr-etcคุณไม่จำเป็นต้องอัปเดตพา ธ ของคุณJAVA_JOMEในครั้งต่อไปที่คุณอัปเดต Java!


1

ฉันมี Eclipse 64 บิตและ Java 32 บิตและมีปัญหาเดียวกัน หลังจากติดตั้ง Java 64 บิตและอัพเดตเส้นทางของระบบแล้วก็ไม่มีปัญหา


1

หากคุณดาวน์โหลด Eclipse 64 บิตและ JDK / JRE 64 บิตให้ตรวจสอบความพร้อมใช้งานของ javaw.exe เป็น 64 บิต

ในกรณีของฉันมันเป็นมา C:\Program Files\Java\jre6\bin

ฉันได้แยก Eclipse ไปยังc:\eclipseโฟลเดอร์แล้ว ภายในว่าeclipse.iniไฟล์พร้อมใช้งาน แทนที่เนื้อหาของไฟล์ดังกล่าวด้วยสิ่งต่อไปนี้:

-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256M
-vm
C:\Program Files\Java\jre6\bin\javaw.exe
-framework
plugins\org.eclipse.osgi_3.4.3.R34x_v20081215-1030.jar
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xmx700m
-XX:MaxPermSize=690M

ปล่อยให้บรรทัดใหม่อยู่ระหว่างแฟล็ก -vm และค่า มันใช้งานได้สำหรับฉัน


ขอบคุณ สิ่งที่ฉันทำคือคัดลอกบรรทัด "-vm C: \ Program Files \ Java \ jre6 \ bin \ javaw.exe" ฉันทิ้งทุกอย่างไว้เหมือนเดิม
Stopher87

0

ฉันกำลังเผชิญกับปัญหาเดียวกันแม้ว่าฉันจะมีทั้งรุ่น JDK และ Eclipse 64 บิต ฉันพบว่าเส้นทาง JDK ขาดหายไปใน eclipse.ini

ดังนั้นฉันจึงเพิ่มบรรทัดต่อไปนี้ในไฟล์ eclipse.ini:

-vm
C:\Program Files\Java\jdk1.7.0_45\jre\bin <this might be different on your machine>

วิธีนี้แก้ปัญหาได้! :-)


0

หาก eclipse เป็น 64 บิตให้อัพเดต Java ใน Path to C: \ Program Files \ Java \ jre7

หรืออย่างอื่น

ตรวจสอบตำแหน่ง Java ที่ถูกอ้างถึงโดย eclipse และคัดลอกเนื้อหา C: \ Program Files \ Java \ jre7 ไปยังตำแหน่ง eclipse jre

ข้อมูลอ้างอิง - http://www.buggybread.com/2013/01/failed-to-load-jni-shared-library.html


0

1. ติดตั้ง jdk7.1 (เป็น 64 บิต) 2. ดาวน์โหลดและติดตั้ง jdk7.1 32 บิต jvm.dll จะอยู่ในเส้นทาง follwing: "C: \ Program Files (x86) \ Java \ jdk1.7.0_75 \ jre \ bin \ client"

หวังว่ามันจะใช้งานได้


0

ในการอธิบายอย่างละเอียดเกี่ยวกับคำตอบของ Steffen Opel ความไม่ตรงกันเกิดขึ้นระหว่าง JVM ที่ระบุในไฟล์ eclipse.ini และ JVM ที่พบและเรียกใช้ซึ่งเป็นผลมาจากรายการบนตัวแปรสภาพแวดล้อมพา ธ Windows ของคุณ ดังนั้นเพื่อแก้ไขปัญหาตรวจสอบให้แน่ใจว่าพวกเขาทั้งสองอ้างถึง JVM เดียวกัน

เมื่อต้องการแก้ไขปัญหานี้ให้ทำตามขั้นตอนเหล่านี้:

1. แก้ไขการกำหนดค่า Eclipse ดังนั้นจึงเปิดตัวด้วยรุ่นที่ต้องการของ JVM
Open eclipse.ini และเปลี่ยนบรรทัดด้านล่างเป็นรุ่น java ที่คุณต้องการใช้เช่น:

-Dosgi.requiredJavaVersion=1.5

2. ตรวจสอบให้แน่ใจว่า Eclipse สามารถเข้าถึง JVM ได้ต้องใช้
แผงควบคุมไปที่ -> แก้ไขตัวแปรสภาพแวดล้อมของระบบ -> พา ธ
    a) ตรวจสอบให้แน่ใจว่ารายการนี้มีอยู่ที่จาวาของคุณที่นี่
    b) ตรวจสอบให้แน่ใจว่ารายการนี้ตั้งอยู่สูงกว่า (หรือก่อนหน้า) กว่าเส้นทาง java อื่น ๆ ภายในรายการ @path ของคุณ

หวังว่าจะแก้ไขปัญหาให้คุณได้


0

แม้ว่านี่เป็นคำถามเก่า แต่ฉันคิดว่าจะเพิ่มข้อมูลที่เกี่ยวข้องเพิ่มเติมลงในคำตอบที่ได้รับการยอมรับจาก @Steffen Opel

สามารถติดตั้ง JDK 32- บิตและ JDK 64- บิตได้ไม่ จำกัด จำนวนใน Windows OS 64- บิต นอกจากนี้ยังเป็นไปได้ที่จะติดตั้ง 32 บิตEclipseและ 64 บิตคราสในคอมพิวเตอร์เครื่องเดียวกันได้เป็นอย่างดี แต่หากต้องการรันหนึ่งในแพลตฟอร์มที่เกี่ยวข้องกับEclipse (ใน OPs case 64 บิตEclipse ) เครื่องควรมีการจับคู่“ Environment Variables ” ที่กำหนดค่าไว้สำหรับ JDK สิ่งนี้สามารถทำได้ (ควรทำ) โดยไม่ต้องแก้ไข ไฟล์eclipse.ini

ตัวแปรสภาพแวดล้อม

ในการเรียกใช้จาวาโดยไม่ต้องให้เส้นทางแบบเต็มจำเป็นต้องเพิ่มตำแหน่งไฟล์สำหรับjava.exeให้กับPATHตัวแปรสภาพแวดล้อม และสำหรับยูทิลิตี้ของบุคคลที่สามอื่น ๆJAVA_HOMEจำเป็นต้องมีตัวแปรสภาพแวดล้อมด้วย

โดยปกตินักพัฒนาจาวาจะต้องติดตั้ง JDK เสมอ (JRE รวมอยู่ใน JDK) และPATHตั้งค่าเป็นโฟลเดอร์“ bin ” ภายใต้โฟลเดอร์การติดตั้ง JDK (ในกรณี OPS C: \ Program Files \ Java \ jdk1.6.0_40 \ bin ) ในขณะที่JAVA_HOMEถูกตั้งค่าเป็นโฟลเดอร์การติดตั้ง JDK (ในกรณี OPS C: \ Program Files \ Java \ jdk1.6.0_40 )

OP ที่นี่มีเพียง JDK 32 บิต แต่พยายามใช้ Eclipse แบบ 64 บิต ดังนั้นเพื่อแก้ไขปัญหา OP จำเป็นต้องติดตั้ง JDK 64 บิต และเปลี่ยนJAVA_HOME& PATHตัวแปรสภาพแวดล้อม ” เพื่อให้ตรงกับตำแหน่งการติดตั้งนั้น

นี่คือขั้นตอนที่สมบูรณ์ยิ่งขึ้น:

  • ดาวน์โหลดและติดตั้ง 64-bit JDKx.x.x_xx
  • จากนั้นเปิด Windows Explorer คลิกขวาที่ไอคอนคอมพิวเตอร์และเลือก

    คุณสมบัติ -> การตั้งค่าระบบขั้นสูง
    มันจะเปิด หน้าต่างคุณสมบัติของระบบและในแท็บ " ขั้นสูง " เลือก " ตัวแปรสภาพแวดล้อม " เพื่อเปิดหน้าต่างแก้ไข

  • ภายใต้ส่วนตัวแปรระบบให้ค้นหาJAVA_HOMEชื่อตัวแปรและคลิกปุ่ม“ แก้ไข ” ที่ส่วนด้านล่างหากไม่มีให้คลิก“ ใหม่ ” และป้อนC: \ Program Files \ Java \ jdk1.6.0_40 และคลิกตกลง

  • จากนั้นเลือกPATHตัวแปรและคลิก“ แก้ไข ” และผนวก %JAVA_HOME%\bin; ไปข้างหน้าหรือ %JAVA_HOME%\binไปยังจุดสิ้นสุดของสตริงที่มีอยู่ อย่าเขียนสตริงที่มีอยู่เกินแล้วคลิกตกลง -> ตกลง -> ตกลงเพื่อให้เสร็จสมบูรณ์

ตอนนี้ Eclipse จะถูกเปิดโดยไม่มีข้อผิดพลาด

บันทึก:

  • หากมีคนต้องการใช้Eclipseแบบ 32 บิตค่าเริ่มต้นเส้นทาง JDK จะเป็นไฟล์ C: \ Program (x86) \ Java \ jdkx.x.x_xx

  • เมื่อเปลี่ยนPATHตัวแปรสภาพแวดล้อมใน Windows 10 จะมีหน้าต่างเพิ่มเติมปรากฏขึ้นดังแสดงในภาพด้านล่าง

ป้อนคำอธิบายรูปภาพที่นี่


0

ฉันประสบปัญหาเดียวกัน แต่ฉันได้รับการแก้ไข

ตรวจสอบว่า Eclipse เป็น 32 หรือ 64 บิตหรือไม่

  1. หากเป็น 32 บิตให้ตั้ง JAVA_HOME เป็น jdk เวอร์ชัน 32 บิต
  2. หาก Eclipse เป็น 64 บิตให้ตั้ง JAVA_HOME เป็น jdk เวอร์ชัน 64 บิต
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.