Lỗi Eclipse: 'Không thể tạo Máy ảo Java'


211

Tôi nhận được thông báo lỗi này khi khởi động Eclipse Helios trên Windows 7:

Không thể tạo Máy ảo Java

Nhập mô tả hình ảnh ở đây

Eclipse.ini của tôi trông như sau:

-startup
plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar
-vm
P:\Programs\jdk1.6\bin
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.0.v20100503
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
512m
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms120m
-Xmn100m
-Xmx1024m

JAVA_HOME của tôi được đặt chính xác theo như tôi có thể nói. Làm thế nào tôi có thể sửa lỗi này?

Những điều tôi đã cố gắng cho đến nay:

  1. Thêm đường dẫn đầy đủ vào javaw.exe -vm P:\Programs\jdk1.6\bin\\bin\javaw.exe
  2. Xóa -vmtùy chọn hoàn toàn
  3. Xóa --launcher.XXMaxPermSizesửa lỗi, nhưng nó gây ra lỗi permgen
  4. Xóa giá trị 512của sự --launcher.XXMaxPermSizecố, nhưng nó gây ra lỗi permgen
  5. Giảm -Xmxđể 512mcũng khắc phục vấn đề.

Tại sao tôi không thể sử dụng '1024m' cho '-Xmx' và '--launcher.XXMaxPermSize'?


18
Điều đó có nghĩa là jvm không thể phân bổ dung lượng bộ nhớ cần thiết (1024 + 512) trong máy tính của bạn.
Kane

Vì vậy, chỉ để xác nhận tôi hiểu điều này một cách chính xác. JVM sẽ phân bổ dung lượng bộ nhớ được chỉ định bởi (XXMaxPermSize + Xmx)
Maro

2
Nó không ngay lập tức tạo bộ nhớ với kích thước heap tối đa (được chỉ định bởi -Xmx) khi bắt đầu vm. Nhưng nó sẽ đảm bảo nó có khả năng tạo kích thước heap tối đa trong thời gian chạy khi bắt đầu vm. Nếu không, vm không thể được tạo.
Kane

Tôi không biết tại sao, nhưng trên máy của tôi, Eclipse chỉ gặp vấn đề này khi Dragon NataturalSpeaking đang chạy. Giải pháp của RonQi's làm việc cho tôi.
cướp

@rob: Đó có lẽ là do Dragon sử dụng rất nhiều bộ nhớ. Nguyên nhân của vấn đề này dường như là do JVM không thể phân bổ đủ bộ nhớ.
Stijn de Witt

Câu trả lời:


80

Hãy thử loại bỏ các -vm P:\Programs\jdk1.6\bindòng.


Ngoài ra, một khuyến nghị chung: thiết lập -Dosgi.requiredJavaVersion=1.6, không 1.5.


52
trong eclipse.ini, việc thay đổi giảm -Xmx xuống 512m từ 1024 đã khắc phục sự cố cho tôi. Hệ thống có RAM 1GB.
Dexter

3
@dexter, cảm ơn bạn, nó đã làm việc cho tôi, bằng cách giảm Xmx
danisupr4

đối với macos eclipse-2020, hãy thêm: "- vm" "/ L Library / Java / JavaVirtualMachines / jdk1.8.0_172.jdk / Content / Home / bin / java" bên dưới "--launcher.appendVmargs" trong eclipse.
clark yu

283

1. Mở eclipse.initệp từ thư mục nhật thực của bạn, xem hình dưới đây.

nhật thực

2. Mở eclipse.initrong Notepadhoặc bất kỳ text-editorứng dụng nào khác , Tìm dòng -Xmx256m(hoặc -Xmx1024m). Bây giờ thay đổi giá trị mặc định 256m(hoặc 1024m) thành 512m. Bạn cũng cần cung cấp phiên bản cài đặt java chính xác (1.6 hoặc 1.7 hoặc khác).

kích thước tối đa

Như thế này:

-Xmx512m
-Dosgi.requiredJavaVersion=1.6

HOẶC LÀ

-Xmx512m
-Dosgi.requiredJavaVersion=1.7

HOẶC LÀ

-Xmx512m
-Dosgi.requiredJavaVersion=1.8

Sau đó, nó hoạt động tốt cho tôi.


8
Điều này sẽ chỉ hoạt động nếu vấn đề không đủ bộ nhớ và nếu bạn hạ thấp các giá trị trong eclipse.ini. Tăng chúng sẽ chỉ làm cho vấn đề này có nhiều khả năng xảy ra.
Stijn de Witt

2
Cảm ơn yar, tôi đã tăng giá trị này và nó hoạt động tốt, tôi nghĩ nó đã xảy ra vì tôi đã cập nhật JDK.
Pervez Alam

1
Điều này thực sự hiệu quả với tôi - NB: ewclipse chỉ ngừng hoạt động - Tôi đã -Xmx1024m, quay sang Xmx512mvà làm việc. Rõ ràng là không đủ bộ nhớ ở đó (?)
Mr_and_Mrs_D

Trong trường hợp của tôi, nó không hoạt động khi thay đổi giá trị thành 512 từ 1024 nhưng khi tôi lại thay đổi nó thành giá trị trước đó, tức là 1024 thì nó hoạt động.
TaRan LaYal

1
Wow .. Đối với Sao Hỏa Eclipse, tôi đã thay đổi -Xmx1024m thành -Xmx512m và nó đã hoạt động!
Umesh Patil

111

Cố gắng thêm

-vm
D:\Java\jdk1.6.0_29\bin\javaw.exe

FYI: Tham khảo sunblog

Đối với những người khác có thể có vấn đề với Java 7, theo Wiki Wiki - eclipse.ini vm_value (ví dụ về windows)

Điều này có thể không hoạt động trên tất cả các hệ thống. Nếu bạn gặp phải lỗi "Java đã bắt đầu nhưng bị trả về mã thoát = 1" trong khi bắt đầu nhật thực, hãy sửa đổi đối số -vm để trỏ đến jvm.dll

ví dụ

-vm
C:\Program Files\Java\jre7\bin\client\jvm.dll

Cũng lưu ý rằng

Tùy chọn -vm phải xuất hiện trước tùy chọn -vmargs, vì mọi thứ sau -vmarg đều được truyền trực tiếp đến JVM


Điều này hoạt động rất tốt, nhưng tôi thích sử dụng -vm C: \ Program Files (x86) \ Java \ jre6 \ bin \ javaw.exe vì đường dẫn JRE có nhiều khả năng duy trì ổn định, đặc biệt nếu bạn đang chia sẻ một cài đặt Eclipse trên nhiều máy / VM.
cướp

nó hoạt động với tôi nhưng trong khi tải nhật thực đang bị treo tại org.eclipse.debug.core
Rahul Razdan

5
+1 Tôi đã bỏ lỡ phần đặt hàng. Tất cả những nơi khác trên mạng họ nói về đối số -vm nhưng họ bỏ qua việc nói nó phải xảy ra trước -vmargs
demongolem

Tôi đã gặp vấn đề tương tự trong khi cài đặt Android SDK với nhật thực và điều này đã khắc phục nó. Cảm ơn !
chuyên gia mã hóa

Để ghi lại, tôi đang sử dụng Windows 7 Home Premium và Server JVM 1.8.0_05, phương thức thứ hai, bằng cách chỉ vào dll làm việc cho tôi, phương thức đầu tiên không có.
Ironluca

26

Tôi biết điều này khá cũ nhưng tôi cũng gặp vấn đề tương tự và vấn đề là tôi đã phân bổ nhiều bộ nhớ cho nhật thực mà nó không thể nắm bắt được. Vì vậy, hãy mở eclipse.ini và giảm lượng bộ nhớ được phân bổ cho -Xmx XXMaxPermSizetôi đã thay đổi tôi thành -Xmx512mXXMaxPermSize256m


Đây có phải là trên một máy 32 bit? Vì tôi tin rằng có giới hạn về số lượng bộ nhớ bạn có thể sử dụng trên các cửa sổ 32 bit
Maro

@Maro Đúng vậy. Nhìn vào việc nâng cấp lên 64 bit.
Popeye

1
Làm việc cho tôi, thay thế 768m bằng 512m trên tham số -Xmx.
tartak

Tôi đang sử dụng máy 64 bit có bộ nhớ 8GB nhưng vẫn sử dụng -Xmx = 768m kết hợp với -XX: PermSize = 256m và -XX: MaxPermSize = 512m được chứng minh là quá nhiều. Nó là một Java 32 bit nên nó 'chỉ' có thể sử dụng 4GB, nhưng mức tối đa dường như thấp hơn nhiều trong thực tế. Tôi hy vọng điều này sẽ cần 1024m để bắt đầu và tối đa 1280m ...
Stijn de Witt

Cảm ơn tôi chắc chắn rằng tôi đã thay đổi nó thành 1024 một vài tháng trước để khắc phục vấn đề. Câu trả lời thực sự cho câu hỏi này là chuyển sang Android Studio, nó đẹp hơn nhiều. Tôi chỉ quay lại Eclipse vì tôi đã không di chuyển một trong những ứng dụng cũ hơn của mình và cần phải làm gì đó.
Ryan Heitner

18
  1. Mở eclipse.initệp từ thư mục nhật thực của bạn.

  2. Nó có một số bổ sung về cấu hình. Tìm dòng –launcher.XXMaxPermSize. Bây giờ loại bỏ giá trị mặc định 256m và lưu nó.


18

Tôi đã xóa eclipse.ini . Tôi gặp phải vấn đề này và loại bỏ các tập tin ini đã giải quyết nó.


12
  1. Mở thư mục với Eclipse.exe và tìm tệp eclipse.ini
  2. Thay thế -vmarg bằng đường dẫn thực sự hiện tại của bạn là javaw.exe: * -vm, c: \ Chương trình tập tin \ Java \ jdk1.7.0_07 \ 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
    -product
    com.android.ide.eclipse.adt.package.product
    --launcher.XXMaxPermSize
    256M
    -showsplash
    com.android.ide.eclipse.adt.package.product
    --launcher.XXMaxPermSize
    256m
    --launcher.defaultAction
    openFile
    **-vm “c:\Program Files\Java\jdk1.7.0_07\bin\javaw.exe”** 
    -Dosgi.requiredJavaVersion=1.6
    -Xms40m
    -Xmx768m
    -Declipse.buildId=v21.1.0-569685
    

9

Bạn cũng có thể giải quyết vấn đề này bằng cách xóa giá trị "256m" trong dòng "-launcher.XXMaxPermSize.


Đã làm cho tôi. Mặc dù với giá trị đó, nó vẫn hoạt động tốt sau khi Windows Đăng xuất và sau đó Đăng nhập.
amar

9

Tôi tìm thấy một giải pháp rất dễ dàng cho việc này. Chỉ cần xóaeclipse.ini tập tin, nhưng sao lưu đầu tiên. Tôi đã có vấn đề tương tự nhiều lần và cuối cùng tôi đã xóa nó và tôi không còn gặp vấn đề nữa.

Nó cũng tăng thời gian tải. Bây giờ Eclipse của tôi bắt đầu nhanh hơn trước.


Sau khi xóa eclipse.ini , tôi gặp lỗi này, khi cố gắng khởi động Eclipse => trình khởi chạy thực thi nhật thực không thể tìm thấy thư viện chia sẻ đồng hành của nó
NIKHIL CHAURASIA

tuyệt vời! tôi đã thử rất nhiều bước để chỉnh sửa tập tin ini. nhưng câu trả lời này là tuyệt vời nó hoạt động. chúc mừng
cạnh

7

Trong STS.conftệp bạn cần kiểm tra hai điều quan trọng để tránh tạo / phân bổ vấn đề jvm

1. Cung cấp vị trí cài đặt jdk chính xác:

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

2. Bạn cần cung cấp phiên bản cài đặt java chính xác:

--Dosgi.requiredJavaVersion=1.7

3. Cố gắng giảm kích thước bộ nhớ:

--XX:MaxPermSize=256m

7
  1. Mở tệp ecplise.ini nằm trong thư mục cài đặt nhật thực.

  2. Tìm & Thay thế dòng -vmarg bằng -vm D: \ jdk1.6.0_23 \ bin \ javaw.exe HOẶC chỉ cần xóa dòng -vmargs và lưu nó. Bây giờ vấn đề đang được giải quyết


2
Cảm ơn @Rajas chỉ cần xóa dòng -vmargs và lưu nó làm việc cho tôi
Bernauer

5

Sau khi thử giải pháp giảm bộ nhớ ở trên, Eclipse bắt đầu hoạt động nhưng bị treo mỗi lần trong khi tải các plugin từ không gian làm việc đặc biệt tại org.eclipse.debug.core.

Tôi đã tìm thấy giải pháp ở đây, Eclipse bị treo tại Splash Screen và muốn chia sẻ nó. Hy vọng nó có thể giúp đỡ người khác là tốt.


Không giống như bất cứ điều gì tôi đã cố gắng trong giờ qua, NÀY đã làm việc, cảm ơn!
Justin T.

Liên kết chết, bất kỳ cơ hội bạn có khác?
Adam Parkin

4

Đảm bảo eclipse.ini không có nhiều mục nhập và mục nhập vm đã sử dụng trước vmargs:

-vm
  D:/java/jdk1.8.0_65/bin/javaw.exe
-vmargs
-Dosgi.requiredJavaVersion=1.8
-Dosgi.instance.area.default=@user.home/eclipse-workspace
-XX:+UseG1GC
-XX:+UseStringDeduplication
-Dosgi.requiredJavaVersion=1.8
-Xms256m
-Xmx1024m

3

Hãy thử cái này:

-startup plugins/org.eclipse.equinox.launcher_1.1.1.R36x_v20101122_1400.jar 
--launcher.library plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.2.R36x_v20101222 
-showsplash org.eclipse.platform 
--launcher.XXMaxPermSize 256m 
--launcher.defaultAction openFile 
-vm F:\Program Files\jdk1.6\bin\javaw.exe 
-vmargs 
-Xms512m 
-Xmx512m 
-XX:+UseParallelGC 
-XX:PermSize=256M 
-XX:MaxPermSize=512M

3

Khắc phục nhanh:

Thay đổi -Xmx1024mthành -Xmx512mtrong eclipse.ini (tệp nằm ở cùng cấp độ eclipse.exehiện diện). Và nó sẽ hoạt động như một lá bùa.


3

Cách đơn giản để khắc phục sự cố này chỉ là xóa hoặc đổi tên eclipse.ini của bạn tệp . Hãy thử nó trước. Nếu phương pháp này không giải quyết được vấn đề của bạn, hãy thử các giải pháp được mô tả dưới đây.

Các cách khác để khắc phục nó:

Giải pháp 1

Thêm một chuỗi vào tệp eclipse.ini làm thay đổi đích của javaw.exetệp. Điều chính là chuỗi này phải được đặt phía trên chuỗi "-vmargs"!

-vm
C:\Program Files\Java\jdk1.6.0_22\bin\javaw.exe 

Giải pháp 2

Xóa giá trị của –launcher.XXMaxPermSize, như 256m .

Giải pháp 3

Xóa hoặc giảm các giá trị của Xms và Xmx:

-Xms384m 
-Xmx384m

3

Điều này có thể làm việc:

Mở eclipse.initệp và dán bên dưới các dòng ở cuối dòng.

-vmargs
-Xms40m
-Xmx512m
-XX:MaxPermSize=256m

3

Sau khi thêm -vm trong eclipse.ini như dưới đây đã làm việc cho tôi. Thêm nó trước khi -vmargskhông loại bỏ nó

-vm
C:\apps\Java\jdk1.8.0_92\bin\javaw.exe
-vmargs

Có một bản cập nhật jdk gây ra vấn đề này.


2

Điều này làm việc cho tôi:

Tôi đã đóng tất cả các ứng dụng cần nhiều bộ nhớ khác trên máy Windows 7 của mình. Và tôi đã cố mở Eclipse, và, thì đấy, nó đã hoạt động.


2

Đôi khi nó không phải là eclipse.ini của bạn ; đó là JDK của bạn bị sập. Bạn có thể kiểm tra nó bằng cách viết lệnh sau trong dấu nhắc lệnh:

c:\> java -version

Nếu lệnh này hiển thị lỗi sau:

Error occurred during initialization of VM

java/lang/NoClassDefFoundError: java/lang/Object

Sau đó, đầu tiên gỡ cài đặt JDK và cài đặt lại nó.

Nhật thực sẽ hoạt động trở lại;) Như hôm nay tôi đã gặp vấn đề tương tự, và những điều trên được đề xuất bởi Uchiha Itachi .


2

Đối mặt với vấn đề khi proton Eclipse của tôi không thể bắt đầu. Đã gặp lỗi "Không thể tạo máy ảo Java"

Đã thêm bên dưới vào tệp eclipse.ini

-vm
C:\Program Files\Java\jdk-10.0.1\bin\javaw.exe

1

Thêm điều này đã khắc phục vấn đề cho tôi:

-vm

D:\Java\jdk1.6.0_29\bin\javaw.exe

1

Giảm kích thước param lên tới -256

Xem tập tin eclipse.ini của tôi

    -startup
   plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar
   --launcher.library
  plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.100.v20110502
  -product
   org.eclipse.epp.package.jee.product
   --launcher.defaultAction
   openFile
   --launcher.XXMaxPermSize
   256M
  -showsplash
   org.eclipse.platform
   --launcher.XXMaxPermSize
   256M
  --launcher.defaultAction
  openFile
  -vmargs
  -Dosgi.requiredJavaVersion=1.6
  -Xms40m
  -Xmx512m

1

Giải pháp thích hợp cho vấn đề của bạn là thêm dòng -vm trỏ vào tệp jvm.dll của thư mục Java của bạn trong ini fie.

-vm
C:\Program Files\Java\jre1.8.0_202\bin\server\jvm.dll
/*there is no dquote for path, and path points to right java version folder mentioned in ini file*/

Nếu cách khắc phục ở trên không hiệu quả, thì đừng thử làm gì khác. Hầu hết các lời khuyên trong chủ đề này là sai lầm. Một số hack này có thể hoạt động tạm thời hoặc trên một số cấu hình máy nhất định, nhưng nội dung của eclipse.ini không tầm thường cũng không tùy ý. Để tham khảo chính thức, hãy xem [trang wiki] này: https://wiki.eclipse.org/Eclipse.ini#Specifying_the_JVM giải thích nội dung của tệp. Cũng lưu ý các liên kết Xem thêm ở cuối trang đó để biết thêm chi tiết về những thứ như kích thước heap, v.v. KHÔNG xóa eclipse.ini, EVER. Cũng không thể xóa các tùy chọn -vm hoặc Xmx. Nếu bạn làm thế, bạn đang yêu cầu rắc rối.

Dưới đây là các tài liệu tham khảo từ trang wiki liên quan đến vấn đề của bạn:

Tham khảo_1

Tham khảo_2


1
một pint đơn giản nhưng quan trọng cần đề cập: -vmphải được đặt trước -vmargs tùy chọn trong eclipse.ini.
woodz

0

Đối với tôi, nó đã giải quyết bằng cách thay đổi đường dẫn bin JDK trong biến môi trường Đường dẫn. Đặt đường dẫn bin JDK có jre / bin / client / jvm.dll trong JDK home.


0

CÁC BƯỚC ĐỂ GIẢI QUYẾT VẤN ĐỀ: -

  1. Mở tệp eclipse.ini từ thư mục nhật thực của bạn.

  2. Nó có một số bổ sung về cấu hình. Tìm dòng hèlauncher.XXMaxPermSize. Đây sẽ là dòng cuối cùng trong tệp này. Bây giờ xóa / xóa giá trị mặc định 256m và lưu nó.



0

Tôi đã phải đối mặt với cùng một vấn đề, và tôi đã tìm ra giải pháp. Có vấn đề trong việc phân bổ MaxPermSize. Nếu bạn cố gắng phân bổ nhiều hơn dung lượng trống của máy thì nó sẽ báo lỗi này. Vì vậy, hãy cố gắng giảm MaxPermSize.

Tôi nghĩ rằng nó sẽ giúp bạn sắp xếp vấn đề của bạn.


0

Tất cả những giải pháp này đã làm tôi thất bại. Điều này đã xảy ra với tôi sau khi sử dụng Eclipse trong sáu tháng. Có vẻ như bằng cách nào đó JDK của tôi đã bị hỏng.

Giải pháp cuối cùng của tôi là tải xuống một JDK mới hơn và cập nhật JAVA_HOME của tôi theo đó, từ jdk1.6.0_37 lên jdk1.6.0_43 trong trường hợp của tôi.


0

@Maro Đối với tôi nó làm việc rất đơn giản!

Sau khi nhận được thông báo lỗi, tôi đã thực hiện 'nhật thực c .exe' từ một dấu nhắc lệnh. Điều này đã mở Eclipse. Sau đó, một lần nữa tôi đã thử với 'eclipse.exe' và bây giờ nó hoạt động tốt và tốt.

Thật không may, nó đã không đưa ra bất kỳ lý do kỹ thuật cho việc này.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.