ไม่สามารถโหลด JNI shared Library (JDK)


928

เมื่อฉันลองเปิดEclipse จะมีหน้าต่างโต้ตอบปรากฏขึ้น:

ไม่สามารถโหลดไลบรารีที่แชร์ JNI "C: /JDK/bin/client/jvm.dll" `

หลังจากนี้ Eclipse Force จะปิดลง

นี่คือบางจุดที่ฉันต้องการทำ:

  • ฉันตรวจสอบเพื่อดูว่ามีสิ่งใดอยู่ที่เส้นทางนั้นหรือไม่ มันมีอยู่จริง
  • My Eclipse และJava SE Development Kitนั้นเป็นแบบ 64 บิต ฉันตรวจสอบระบบของฉันและสามารถรองรับ 64- บิตได้
  • ฉันค้นหาปัญหานี้ใน Google และใน Stack Overflow และคำตอบเดียวที่ฉันพบคือการดาวน์โหลด JDK และ Eclipse รุ่น 32 บิต

การดาวน์โหลดเวอร์ชั่น 32 บิตเป็นสิ่งที่ฉันต้องการทำเพื่อเป็นทางเลือกสุดท้าย
มีข้อเสนอแนะอะไรในการแก้ไขปัญหานี้?


คุณมีปัญหาอะไรในกรณีของคุณ?
sjas

4
ฉันแปลกใจที่มี Java 5 ตัวติดตั้งไว้ในคอมพิวเตอร์ของฉัน ไม่เพียงแค่นั้น แต่ปรากฏว่าฉันดาวน์โหลด Eclipse แบบ 32 บิตโดยไม่ได้ตั้งใจ ดังนั้นฉันถอนการติดตั้ง Java ทุกตัวที่ฉันมีลบ Eclipse (Eclipse ไม่มี "ถอนการติดตั้ง") และดาวน์โหลดEclipse Classic 64 บิตสำหรับเครื่องของฉันพร้อมกับ Java 64 บิต (ดูคำตอบของ SPP สำหรับลิงก์นั้น)
Mxyk

2
อีกทั้ง: หากใครมีปัญหาในการ "ลบ" Eclipse (เช่นโฟลเดอร์จะไม่หายไปไม่ว่าคุณจะลบด้วยตนเองหรือผ่านทางพรอมต์คำสั่ง) กี่ครั้งลองลบมันโดยใช้เซฟโหมดพร้อมรับคำสั่ง .. ฉันไม่รู้ ทำไมฉันต้องทำสิ่งนี้ แต่มันก็จบลงด้วยการทำงาน
Mxyk

@ MikeGates ฉันมีปัญหานั้นเช่นกันใช้ LockHunter น่ารังเกียจ การใช้เครื่องมือนี้เพื่อทำงานบน Windows นั้นเป็นวิธีการทำงานที่มากเกินไป
jcollum

Eclipse / Java sucks เมื่อมันมาถึง 64 บิตมันเป็นความอับอายขายหน้า ... คำแนะนำที่ดีที่สุดที่ฉันสามารถให้ได้คือติดที่ 32 บิตเท่านั้น ประหยัดเวลา
onknows

คำตอบ:


848

คุณต้องมี64-bitสามคน:

  • 64-bit ระบบปฏิบัติการ
  • 64-bit ชวา
  • 64-bit คราส

คำอธิบาย : ลองนึกภาพโค้ดเนม (DLL) ที่กำลังโหลดลงในแอปพลิเคชัน ตอนนี้ลองนึกภาพว่าฟังก์ชั่น 32 บิตต้องการที่จะเรียก 64 บิตหนึ่งหรือเหมือนกัน เหมือนกันกับการจัดตำแหน่งและ datasizes และทุกอย่าง ฉันเดาว่าฉันไม่ต้องบอกอะไรอีกแล้ว = P
imacake

@androiddeveloper ฉันเดาว่าคุณผสมจาวาหลายเวอร์ชัน ลองใช้เฉพาะ 64 trio
Grim

ได้อย่างถูกต้อง! แล็ปท็อปของฉันทำงานบน x64 OS แต่ฉันติดตั้ง x86 JDK เพิ่งติดตั้ง x64 jdk และปัญหาหายไป ขอบคุณ
เหงียนมินห์บินห์

คำตอบนี้ไม่แม่นยำอย่างแท้จริง คุณไม่จำเป็นต้องเรียกใช้ JDK 64 บิตและ Eclipse 64 บิตหากคุณใช้ระบบปฏิบัติการ 64 บิต ระบบปฏิบัติการ 64 บิตสามารถเรียกใช้คำสั่งผสมของ Java 32 บิต + 32 บิตได้ สิ่งที่ต้องตรงกันคือความเหมาะสมของ JRE / JDK และ Eclipse
E-Riz

1
@Tarik ใช่ในปี 2015 และโชคไม่ดีที่เครื่องมือแก้ไขหน้าจอ (VPE) ของ JBoss Tools ยังคงรอมานานนับปีสำหรับการอัพเกรด 64 บิต ดูคำตอบ "คู่ทำงาน" ด้านล่างที่คู่ที่สอง JBoss Tools-Plug-in นั้นเชื่อมโยงกับสถาปัตยกรรมเดียวกับที่คุณดาวน์โหลด Eclipse ดังนั้น Eclipse (กับ JBossTools) จะต้องเป็น 32 บิต, JDK ต้องเป็น 32 บิตและระบบปฏิบัติการสามารถเป็น 64 บิต 64 บิตคราสไม่ทำงานกับ JBoss Tools .... ฉันจำโครงการที่เรียกว่า JBossIDE ที่ใช้ Eclipse ได้คุณจะต้องใช้สิ่งนี้แทนการติดตั้ง JBossTools ลงใน eclipse อัปยศคุณ JBoss อัปยศโมซิลล่าเช่นกัน
กลัว

315

การจับคู่การทำงานของ OS, JDK และ Eclipse:


  • 32-bit ระบบปฏิบัติการ | 32-bit JDK | 32-bit Eclipse ( 32- บิตเท่านั้น )
  • 64-bit ระบบปฏิบัติการ | 32-bit JDK | 32-bit คราส
  • 64-bit ระบบปฏิบัติการ | 64-bit JDK| 64bit Eclipse ( 64- บิตเท่านั้น )

ฉันมี JDK และ JREs หลายตัวติดตั้งอยู่

แต่ละคนมีรายการของตัวเองในตัวแปร PATH ทุกคนทำงานได้ไม่มากก็น้อย

เมื่อพิจารณาจากตัวแปร PATH การติดตั้งบางอย่างไร้ประโยชน์อย่างสมบูรณ์เนื่องจากไม่เคยใช้ แน่นอน Javas "ไม่ใช้งาน" สามารถอ้างอิงได้ด้วยตนเองจากภายใน Eclipse หากฉันต้องการ แต่ฉันไม่เคยทำเช่นนั้นดังนั้นฉันจึงไม่ต้องการมันจริงๆ (อย่างน้อยฉันก็คิดอย่างนั้นในเวลานั้น ... )

ฉันทำความสะอาดแล้ว, ติดตั้ง Java ทั้งหมดในปัจจุบัน, ติดตั้งเพียง JDK + JRE 1.7 64-bit

หนึ่งในการติดตั้ง Eclipse 'ล้มเหลวหลังจากนั้นด้วยFailed to Load the JNI shared Libraryและเส้นทางที่กำหนดเมื่อเทียบกับ JDK ที่ติดตั้งใหม่ที่มันคิดว่าjvm.dllจะเป็น

Eclipse ที่ล้มเหลวเป็นหนึ่งเดียวของ IDE ทั้งหมดของฉันที่ยังคงเป็นรุ่น 32 บิตในการตั้งค่าแบบ 64 บิต

การเพิ่มอาร์กิวเมนต์ VM เช่นที่กล่าวถึงบ่อย ๆ ในeclipse.iniนั้นไม่ได้ใช้ในกรณีของฉัน (เพราะฉันมีเพียง JDK / JRE ผิดที่เกี่ยวข้องเท่านั้น)

ฉันยังไม่สามารถหาวิธีตรวจสอบว่า Eclipse นี้เป็นรุ่น 32 บิตหรือ 64 บิต (ฉันไม่สามารถค้นหาได้ในตัวจัดการงานเนื่องจากการติดตั้ง Eclipse นี้จะไม่เริ่มทำงานและเนื่องจากมี เมื่อไม่นานมานี้ฉันได้ตั้งค่าฉันไม่สามารถจำรุ่นได้)

ในกรณีที่คุณใช้ใหม่ JDK และเก่าJREคุณอาจจะอยู่ในปัญหามากเกินไป แต่ก็มีแนวโน้มที่จะjava.lang.UnsupportedClassVersionErrorปรากฏขึ้นIIRC


3
มันควรใช้ \ bin แรกเท่านั้นที่มาในตัวแปร Path
ใกล้

อืมมเป็นคำถามเสมอ ... เอกสารของออราเคิลบอกว่าใช้แค่อันแรก แต่อาจมีการเปลี่ยนแปลงอย่างอื่น / มีอยู่แล้วและใช้งานได้ ดูเหมือนว่ามันจะมีอะไรแปลก ๆ อยู่เสมอ
ใกล้

8
เพื่อตรวจสอบเวอร์ชัน 32- บิตหรือ 64- บิตเปิด eclipse.ini และค้นหาตัวเรียก Equinox ที่ใช้ (เช่น org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.1.1.v20110502)
Steve Oh

ฉันมีคอมโบนี้พร้อมข้อผิดพลาด ระบบปฏิบัติการ 64 บิต - JDK 32 บิต - Eclipse 32 บิตและใช้งานไม่ได้ ฉันแก้ไขมันด้วยคอมโบนี้: ระบบปฏิบัติการ 64 บิต - 64- บิต JDK - 64 บิต Eclipse (64- บิตเท่านั้น) ตัวแปร% PATH% ได้รับการปรับปรุงให้ชี้ไปที่รุ่น java 64 บิต ที่จริงแล้ว% JAVA_HOME% ได้รับการปรับปรุงเนื่องจากตัวแปรนี้ใช้เป็นค่าตัวแปร% PATH%
thanos.a

1
มันเป็นความคิดเห็นของ @ekinnear ที่แก้ไขปัญหาของฉันได้ ฉันไม่แน่ใจว่าทำไมมันจึงกำลังมองหา JVM.dll ในโฟลเดอร์ windows / bin ของฉัน แต่การใส่เส้นทางที่เหมาะสมในสถานที่ดูเหมือนว่าจะได้รับการแก้ไขแล้ว
James

267

ตรวจสอบให้แน่ใจว่าeclipse.iniไฟล์ของคุณมีบรรทัดต่อไปนี้

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

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

ใช้ระบบปฏิบัติการและ Eclipse ทั้ง 64 บิตหรือทั้ง 32 บิตให้เหมือนเดิมและตั้งeclipse.iniค่า

คุณeclipse.iniไฟล์สามารถพบได้ในโฟลเดอร์คราสของคุณ


9
วิธีนี้จะช่วยแก้ปัญหา ฉันเพิ่ม-vm C:\Program Files\Java\jdk1.6.0_32\bin\javaw.exeบรรทัดลงในไฟล์ eclipse.ini ของฉันและมันก็เริ่มทำงานได้ดี ขอบคุณสำหรับความช่วยเหลือ +1
prolink007

1
ทำงานได้ดีโปรดตรวจสอบเวอร์ชัน Java ของคุณเรียกใช้ java -version ในคอนโซลและตรวจสอบว่านี่เป็นรุ่นที่ Eclipse ใช้หรือไม่
jayesh kavathiya

2
ฉันทำสิ่งนี้กับ Java 6 SDK ของฉันและมันไม่ทำงาน ฉันลองใหม่อีกครั้งโดยชี้ไปที่ Java 7 SDK ของฉันและทำงานได้ ฉันใช้ Windows 8 64- บิต, Java 6 และ 7 (ทั้ง 64- บิต) และ Eclipse Helios (32- บิต) ฉันพร้อมที่จะถอนการติดตั้งและติดตั้ง Eclipse 64 บิตอีกครั้ง แต่ดูเหมือนว่า java 7 SDK จะมีปัญญาใหม่ให้เรียกใช้แอป 32 บิตได้ดีขึ้น
Ryan Shillington

9
งานนี้ แต่จำเป็นต้องใส่ -vm ในส่วนบนของไฟล์ ini; อย่างน้อยก่อนหน้า -vmargs หรือ --launcher.xxx
pinkdawn

2
จุดที่สำคัญมากที่ฉันพลาด หากคุณใช้เช่น: "-vm C: \ ProgramFiles \ Java \ jdk1.6.0_32 \ bin \ javaw.exe" มันจะไม่ทำงานวิธีที่ถูกต้อง "-vm C: \ Program Files \ Java \ jdk1.6.0_32 \ bin \ javaw.exe "บรรทัดใหม่หลังจาก -vm นั้นสำคัญมาก
School Boy


42

ข้อผิดพลาดนี้หมายความว่าสถาปัตยกรรมของ Eclipse ไม่ตรงกับสถาปัตยกรรมของรันไทม์ของ Java เช่นถ้าหนึ่งเป็น 32- บิตอื่น ๆ จะต้องเหมือนกันและไม่ได้ 64- บิต

การแก้ไขที่เชื่อถือได้มากที่สุดคือการระบุตำแหน่ง JVM ใน eclipse.ini:

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

สำคัญ:สองบรรทัดนี้ต้องมาก่อน -vmargs อย่าใช้คำพูด; อนุญาตให้มีช่องว่าง


สวัสดีฉันทำงานมาหลายครั้งแล้วด้วยการติดตั้ง. ini นี้ฉันควรอัปเดตสถาปัตยกรรมเป็น 64 บิตหรือฉันสามารถเพิกเฉยต่อความจริงที่ว่ามีสถาปัตยกรรมที่แตกต่างได้หรือไม่? ขอบคุณ
Billyjoker

32

ตัวเลือกอื่นคือ:

สร้างทางลัดไปยัง Eclipse.exe เปิดทางลัดและเปลี่ยนเป้าหมายเป็น:

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

สำหรับการติดตั้งของคุณตรวจสอบให้แน่ใจว่าตำแหน่งที่ตั้งชี้ไปที่ไดเร็กทอรีการติดตั้ง Eclipse ที่ถูกต้องและไดเร็กทอรีการjavaw.exeติดตั้งที่ถูกต้อง

(Eclipse และ Java เวอร์ชัน 64/32 บิตจำเป็นต้องเหมือนกัน)


ตัวเลือกที่ดี แต่การเพิ่มลงในไฟล์ ini ดังกล่าวข้างต้นควรใช้งานได้
mr.user1065741

2
ไม่จำเป็นต้องเปลี่ยนไฟล์. ini เพียงใช้คอมโบ 64 บิตสำหรับ java และ eclipse
thanos.a

29

ฉันติดตั้ง Java หลายเวอร์ชันทั้ง Sun JDK & JRockit ทั้ง 32 บิตและ 64 บิต ฯลฯ และพบปัญหานี้ด้วยการติดตั้ง Eclipse แบบ 64 บิตใหม่สำหรับ Java EE (JUNO)

อะไรไม่ทำงาน:

64- บิตสามคนตามที่ Peter Rader แนะนำ:

ฉันใช้ Eclipse แบบ 64 บิตบนระบบปฏิบัติการ 64 บิต (Windows 7)

ฉันมั่นใจว่า Sun JDK 7 64- บิตเป็นรุ่นจาวาเริ่มต้น เมื่อฉันพิมพ์ "java -version" จาก command line (cmd.exe) 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)

นี่ไม่ได้แก้ปัญหาสำหรับฉัน

อะไรDIDทำงาน:

การเพิ่มตัวเลือก -vm ใน eclipse.ini ตามที่ Jayesh Kavathiya แนะนำ:

ฉันได้เพิ่มสิ่งต่อไปนี้ใน eclipse.ini:

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

บันทึก:

ฉันไม่จำเป็นต้องถอนการติดตั้ง JDK หรือ JRE รุ่นต่าง ๆ ที่มีในเครื่องของฉัน


ฉันไม่จำเป็นต้องถอนการติดตั้ง JDK แต่ฉันเลือกที่จะทำความสะอาดระบบเพื่อล้างสาเหตุข้อผิดพลาดในอนาคต ฉันยังได้กล่าวถึงข้อโต้แย้ง VM และอธิบายว่าทำไมพวกเขาถึงไม่สามารถทำงานให้ฉันได้ เป็นทางเลือกของคุณว่าคุณต้องการติดตั้งระบบอย่างไรขึ้นอยู่กับสิ่งที่คุณต้องการต้องการ
sjas

ฉันต้องทำทั้งสองอย่าง แต่การเพิ่มบรรทัด javaw.exe ทำให้ฉันติดตั้งทุกอย่างบน 64 บิตอย่างไรก็ตาม มันขึ้นอยู่กับการลงโทษกรรมที่คุณต้องจ่ายให้กับ Android
Josh

ฉันได้รับการพัฒนามานานหลายปีและไม่มีการเปลี่ยนแปลงในระบบของฉัน (ที่ฉันรู้) Eclipse พ่นข้อผิดพลาดนี้ การเพิ่มตัวเลือก -vm เรียงลำดับให้ฉันโดยไม่จำเป็นต้องเปลี่ยนการตั้งค่าอื่น ๆ หรือยกเลิกการติดตั้งใด ๆ
Knossos

18

สำหรับjvm.dllไฟล์ที่ขาดหายไปเราสามารถให้เส้นทางของไฟล์ dll ในeclipse.iniไฟล์เป็น

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

นี่เป็นสิ่งสำคัญที่จะต้องลบช่องว่างใด ๆ ในเส้นทางและเครื่องหมายคำพูดคู่ มันใช้งานได้สำหรับฉันเมื่อฉันลบเครื่องหมายคำพูดและช่องว่างออก

ฉันหวังว่ามันจะช่วยให้ใครบางคน


1
สิ่งนี้ช่วยฉันแทน -vm javaw.exe
amj

11

ฉันมีปัญหาที่คล้ายกัน มันแก้ไขได้โดยทำสิ่งต่อไปนี้

  • ย้าย Eclipse ไปที่ Program Files (ไม่ใช่ to Program Files (x86) )
  • ลบพา ธ ไปยัง Java เวอร์ชัน 32 บิตจากตัวแปรสภาพแวดล้อม 'path'

ฉันติดตั้ง Java ทั้งสองเวอร์ชันแล้ว แต่ Eclipse พยายามใช้ 32- บิตต่อไป


10

แน่นอนว่าคุณต้องมี JDK และ Eclipse รุ่นที่เข้ากันได้ แต่คุณต้องเพิ่มeclipse.iniไฟล์ในบรรทัดด้านล่างด้วย:

-vm
yourdrive\java\bin

ทำให้เป็นสองบรรทัดแรกของeclipse.iniไฟล์ของคุณ


7

ในฐานะที่เป็นคนจำนวนมากพูดพาดพิงไปแล้วนี้เป็น 32 เทียบกับปัญหา 64 บิตสำหรับทั้งEclipseและJava คุณไม่สามารถรวม 32 และ 64 บิต เนื่องจาก Eclipse ไม่ได้ใช้JAVA_HOMEคุณอาจต้องเปลี่ยน PATH ของคุณก่อนที่จะเปิดใช้ Eclipse เพื่อให้แน่ใจว่าคุณใช้ Java เวอร์ชันที่เหมาะสมไม่เพียง แต่จะต้องเป็น 32 หรือ 64 บิต (หรือแก้ไขไฟล์ INI ตามที่ Jayath ระบุไว้) .

หากคุณกำลังติดตั้ง Eclipse จาก บริษัท ที่ใช้ร่วมกันคุณควรตรวจสอบให้แน่ใจว่าคุณสามารถบอกได้ว่า Eclipse เวอร์ชันใดที่คุณกำลังคลายซิปและคลายซิปไปที่ไดเรกทอรีProgram Filesที่เหมาะสมเพื่อช่วยติดตามว่าเป็นอันไหนจากนั้นเปลี่ยน PATH windows) Control Panel -> ระบบหรือชุดPATH=/path/to/32 or 64bit/java/bin;%PATH%(อาจจะสร้างไฟล์ชุดถ้าคุณไม่ต้องการที่จะตั้งในระบบและ / หรือสภาพแวดล้อมของผู้ตัวแปรของคุณ) โปรดจำไว้ว่า 32 บิตอยู่ใน. ไฟล์ Program (x86)

หากไม่แน่ใจให้เปิดใช้ Eclipse หากคุณได้รับข้อผิดพลาดเปลี่ยน PATH ของคุณเป็น Java รุ่น 'บิต' อื่น ๆ แล้วลองอีกครั้ง แล้วย้ายไดเรกทอรี Eclipse เพื่อที่เหมาะสมแฟ้มโปรแกรมไดเรกทอรี


เห็นได้ชัดว่าเป็นปัญหาเนื่องจากหน้านี้มีผู้เข้าชมมากกว่า 700,000 คน ... และอีกหนึ่งปีต่อมาก็เห็นได้ชัดว่าไม่มีการแก้ไขที่ไม่เกี่ยวข้องกับการเปลี่ยนแปลงตัวแปรสภาพแวดล้อมเพียงเพื่อให้ IDE ทำงาน!
Ciaran Gallagher

6

หรือรับJREและ Eclipse รุ่น "เดียวกัน" จากนั้นสร้างทางลัดใหม่ด้วยเป้าหมายด้านล่าง (แทนที่ตำแหน่ง / เส้นทาง JRE และ Eclipse ที่ติดตั้ง):

"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

นั่นควรทำเคล็ดลับ


6

คุณสามารถแก้ปัญหาดังกล่าวได้เช่นเดียวกับการจำลองแบบอื่น ๆ คุณต้องว่าEclipse และJDKเป็น 32 บิตหรือทั้งจำทั้ง 64 สถาปัตยกรรมของระบบปฏิบัติการไม่สำคัญในขณะที่คนอื่น ๆ ยังคงอยู่ในประเภทของกลิ่นที่เหมือนกัน


6

คำตอบข้างต้นผมมีฉันอยากมากที่ฉันตัดสินใจที่จะแห้งทำงานทั้งหมดรวมกันได้กับระบบปฏิบัติการ, EclipseและJVMทั้งสามคน อย่างไรก็ตามใครก็ตามที่กำลังขุดและอ่านโพสต์ของฉันตรวจสอบดังต่อไปนี้เป็นจุดร้อน (ฉันเป็นผู้ใช้ Windows 7)

  1. คุณเข้าใจว่าไฟล์โปรแกรมและไฟล์โปรแกรม (x86)เป็นโฟลเดอร์ที่แตกต่างกันสองโฟลเดอร์ ... x86หมายถึงโปรแกรมรุ่น 32 บิตและรุ่นก่อนหน้าเป็นรุ่น 64 บิต

  2. หากคุณมีJavaเวอร์ชันหลายเวอร์ชันที่ติดตั้ง bitness และรุ่นที่แตกต่างกันซึ่งจะเกิดขึ้นกับIDE แบบโอเพนซอร์สมากมายผู้จัดการคอนโซลการจัดการตัวเลือกที่ดีที่สุดคือการตั้งค่าอาร์กิวเมนต์ VM ในeclipse.iniไฟล์โดยตรง ถ้าคุณทำไม่ได้ Eclipse จะบ้าและลองค้นหาด้วยตัวเองซึ่งไม่ดี


5

หนึ่งในวิธีง่าย ๆ ในการแก้ไขคือการคัดลอกjreโฟลเดอร์จากการติดตั้ง JDK ลงในโฟลเดอร์การติดตั้ง Eclipse ตรวจสอบให้แน่ใจว่า JDK ที่คุณคัดลอกมานั้นเป็นสถาปัตยกรรมเดียวกับการติดตั้ง Eclipse ของคุณ

ฉันต้องกำหนดค่าเครื่องของฉันด้วยวิธีนี้เพราะฉันรันทั้ง Eclipse และAppcelerator Titanium Studioบนเครื่องของฉัน Studio ต้องการ Java แบบ 32 บิตในขณะที่ Eclipse ต้องการ 64 บิต


ฉันทำสิ่งเดียวกันเมื่อนานมาแล้ว แต่สำหรับ eclipse-jee-juno-SR1-win32 และ Java6 ฉันไม่สามารถทำให้มันทำงานได้ในเวลานี้ คุณยังแก้ไข eclipse.ini ด้วยพา ธ สัมบูรณ์ไปยัง jre หรือไม่
user77115

ฉันยังมี Eclipse 64 width jdk 7 64bit แต่ Titanium สูงฉันมันไม่สามารถโหลด jni shared dll ได้
realtebo

เนื่องจากการอัปเดตอัตโนมัติที่บ้าคลั่งของ Window เมื่อใดก็ตามที่มีการอัปเดตสำหรับ JAVA จะบล็อก Eclipe ของฉันไม่ให้เปิดใช้งาน วิธีแก้ปัญหาข้างต้นเป็นวิธีที่ง่ายที่สุดในการทำงานอย่างอิสระโดยไม่ต้องกังวลกับการอัปเดตอัตโนมัติ ขอบคุณ!
Jyo the Whiff

4

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


4

เพียงตรวจสอบตัวแปรสภาพแวดล้อม PATH ในMy Computer -> Properties -> การตั้งค่าระบบขั้นสูง -> ตัวแปรสภาพแวดล้อม -> (หน้าต่างด้านซ้าย "ตัวแปรผู้ใช้สำหรับ" ชื่อของพีซี "") เพียงแค่ตรวจสอบตัวแปร PATH หากไม่มีอยู่ให้สร้างด้วย -> C: \ Program Files (x86) \ Java \ jre7 \ bin <-

ฉันประสบปัญหาเดียวกันหลังจากอัปเดต Eclipse แล้ว ฉันพบว่าเส้นทางขอให้ใช้รุ่น 64 บิต แต่ฉันมี 32 บิตในเส้นทางที่แตกต่างกัน มันเป็นประโยชน์สำหรับฉัน PS: ฉันมีระบบปฏิบัติการ 64 บิต, JRE 32 บิตและ Eclipse 32 บิต ทำงานได้ดี :)


4

คุณควรถอนการติดตั้ง [JREs] เก่าทั้งหมด [1] แล้วติดตั้งใหม่ล่าสุด ... ฉันมีปัญหาเดียวกันและตอนนี้ฉันแก้มันแล้ว ฉัน:

ดีกว่าติดตั้ง Jre 6 32 บิต มันได้ผลจริงๆ


3

ดาวน์โหลด JVM 64 บิตจากไซต์และติดตั้งด้วยตนเองและอัพเดตตัวแปรพา ธ ของระบบ ที่แก้ไขปัญหา

  1. ติดตั้ง JVM เริ่มต้นในระบบของฉันอยู่ใน "C: \ Program Files
    (x86) \ Java \ jre7"
  2. ติดตั้ง JVM ด้วยตนเองได้รับการติดตั้งใน "C: \ Program Files \ Java \ jre7" และหลังจากอัปเดต pate นี้เป็นตัวแปรเส้นทางของระบบมันทำงานได้

3

ขอบคุณmisterfrbฉันรู้ว่า Eclipse ให้ข้อผิดพลาดนี้เพราะฉันเพิ่งติดตั้งOracle 10g Developer suiteและมันกำลังมองหาjvm.dllไฟล์ในC:\DevSuiteHome_1โฟลเดอร์ (ฉันต้องเลือกติดตั้ง JDK อีกครั้งพร้อมกับชุดผู้พัฒนา)

หลังจากลบบรรทัด DevSuiteHome ออกจากตัวแปรพา ธ และเพิ่มตำแหน่งการแก้ไขสำหรับ 64- บิตjvm.dll(ไม่แน่ใจว่าจำเป็นหรือไม่ไม่ลอง) Eclipse ทำงานอีกครั้งและชุดนักพัฒนาก็ทำเช่นกัน


3

ง่ายฉันมีระบบปฏิบัติการ 64 บิต, Eclipseแบบ 32 บิตและทั้ง JDK 32 และ 64 ติดตั้ง ... ฉันเพิ่งถอนการติดตั้ง 64-bit JDK และ Eclipse ทำงานได้ดี ..


3

ฉันมีปัญหาเดียวกันหลังจากอัปเกรดจาก Java 6 เป็น Java 7 หลังจากฉันลบ Java 6 (64 บิต) และติดตั้ง Java 7 ใหม่ (64 บิต) แล้ว Eclipse ทำงาน :)


3

จำเป็นอย่างยิ่งที่จะต้องเพิ่มพารามิเตอร์ -vm และค่าของมันใน 2 บรรทัดที่การเริ่มต้นของ eclipse.ini

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


3

ฉันต้องการวิธีอื่นในการแก้ไขข้อผิดพลาดนี้โดยเฉพาะอย่างยิ่งสำหรับผู้ที่ต้องการใช้ Eclipse แบบ 32 บิตและ 64 บิตในระบบเดียว

Eclipse จะเริ่มทำงานโดยใช้ JRE / JDK ในjreไดเร็กทอรีย่อยหากมีอยู่ (STS หรือ IDE อื่น ๆ ที่ใช้ eclipse ยังสนับสนุนคุณสมบัตินี้ ... )

การแก้ปัญหาคือการสร้างไดเรกทอรีแยกใช้mklink.exeคำสั่งที่มีอยู่ใน windows vista หรือรุ่นที่ใหม่กว่า ( junction.exeเสนอฟังก์ชั่นที่คล้ายกันสำหรับ Windows 2000 / XP)
เปิดหน้าต่างบรรทัดคำสั่งและ exeute คำสั่งต่อไปนี้:

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

แน่นอนถ้า Eclipse สำหรับ Windows 64 บิตสถาปัตยกรรมของJDK/JREจะต้องเหมือนกัน

สมมติ:

  • Eclipse for windows x86_64ถูกติดตั้งในd: \ devTool \ eclipse
  • JDK for windows x64ติดตั้งในC: \ Program Files \ Java \ jdk1.8.0

คำสั่งสำหรับการสร้างjreโฟลเดอร์จะเป็น:

mklink / j "d: \ devTool \ eclipse \ jre" "ไฟล์ C: \ Program \ Java \ jdk1.8.0"

BTW ลบการแยกไดเรกทอรีจะไม่ลบไฟล์ใด ๆ หากคุณสร้างลิงค์ที่ไม่ถูกต้องคุณสามารถลบได้โดยใช้ file explorer หรือrmdirคำสั่ง

rmdir "d: \ devTool \ eclipse \ jre"



2

ถ้าคุณใช้ทั้ง 64- บิตทั้งสามและมันก็ยังไม่ทำงาน (ฉันมาถึงปัญหานี้ในขณะที่เปิดตัว Android Monitor ใน Intellij Idea) อาจใช้ jvm.dll ผิดซึ่งตรงข้ามกับสิ่งที่จาวาคาดไว้ เพียงทำตามขั้นตอนเหล่านี้:

  1. ค้นหา jvm.dll ในไดเรกทอรี JRE ของคุณ: C:\Program Files\Java\jre7\server\bin\jvm.dll

  2. ค้นหา jvm.dll ในไดเรกทอรี JDK ของคุณ: c:\Program Files\Java\jdk1.7.0_xx\jre\bin\server\

  3. คัดลอกjvm.dllจาก JRE ไปยังไดเรกทอรี JDK ของคุณและเขียนทับ jvm.dll ใน JDK

อย่าลืมทำการสำรองข้อมูลในกรณีที่ ไม่จำเป็นต้องติดตั้งหรือถอนการติดตั้งอะไรที่เกี่ยวข้องกับ Java


2

เกิดขึ้นกับฉันเหมือนกัน ฉันมี Eclipse แบบ 64 บิต แต่ JDK ของฉันคือ 32 บิต ดังนั้นฉันจึงติดตั้งเวอร์ชัน 64 บิตและมันก็ใช้ได้แล้ว


2

ฉันไม่แน่ใจว่าทำไม แต่ฉันติดตั้ง jre ไว้ในไดเรกทอรี c: \ windows และ java.exe และ javaw.exe ภายในไดเรกทอรี windows \ system32 ของฉัน

เห็นได้ชัดว่าไดเรกทอรีเหล่านี้ได้รับความสำคัญแม้หลังจากเพิ่มแฟล็ก -vm ไปยังไฟล์ eclipse.ini ของฉัน

ลบออกจากที่นี่แก้ไขปัญหาสำหรับฉันแล้ว


2

คุณมีการเปลี่ยนแปลงรุ่นที่เหมาะสมของ JAVA_HOME และ PATH ในตัวแปรสภาพแวดล้อม


1

บนหน้าดาวน์โหลดของ Eclipse ควรเขียน "JRE 32 bits" หรือ "JRE 64 bits" และไม่ใช่ "Windows 32 bits" หรือ "Windows 64 bits"

ตรวจสอบให้แน่ใจว่าใช้เวอร์ชันที่ถูกต้องที่เข้ากันได้กับ JDE ของคุณตามคำตอบก่อนหน้านี้

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