JRE 1.7 - phiên bản java - trả về: java / lang / NoClassDefFoundError: java / lang / Object


135

Khi chạy bất kỳ ứng dụng java nào, hoặc chỉ 'java', jvm không thành công:

Đã xảy ra lỗi trong quá trình khởi tạo VM
java / lang / NoClassDefFoundError: java / lang / Object

Dưới đây là danh sách các câu trả lời sai :

  1. Thư mục chính của Java, bao gồm thư mục / bin, nằm trên PATH toàn cầu

  2. JAVA_HOME được đặt chính xác

  3. Thực hiện lệnh java -fullversion hoạt động

    $ java -fullversion
    
    ./java full version "1.7.0_05-b05"
    
  4. Các liên kết tượng trưng trong / usr / java đều hướng đến cài đặt java chính xác

  5. Tôi đã không cài đặt bất kỳ java 'mặc định' nào khi tôi tạo hệ thống

  6. java -version thất bại ... lỗi tương tự như trên

  7. Việc ban hành các lệnh từ bên dưới cấu trúc thư mục của bản cài đặt java cũng không hoạt động

  8. Đây là java 64 bit cho 64 bit

Có ý kiến ​​gì không?


2
Có vẻ như có vấn đề trong việc tải rt.jartệp, được yêu cầu JVMtại thời điểm tảiJRE
Bhasta Ambani

có thể một số vấn đề liên quan đến sự cho phép?
Đánh dấu Bramnik

chạy truss / strace để xem bất kỳ quyền / tập tin bị thiếu
Jayan

inbytebg.com/techblog/?p=189 , trên bình luận đầu tiên có một mẹo hex để vá trình cài đặt
Sebastian

Câu trả lời:


186

Vấn đề này bắt nguồn từ việc cài đặt Java không đúng.

Khả năng 1

LƯU Ý: Kịch bản này chỉ áp dụng cho Java 8 và trước đó. Bắt đầu với Java 9, JRE được cấu trúc khác nhau. rt.jar và bạn bè không còn tồn tại và Pack200 không còn được sử dụng.

Các thư viện chuẩn Java được chứa trong lọ khác nhau, chẳng hạn như rt.jar, deploy.jar, jsse.jar, vv Khi JRE được đóng gói, những tập tin JAR quan trọng được nén với Pack200 và lưu trữ như rt.pack, deploy.pack, jsse.pack, vv Java cài đặt được cho họ giải nén. Nếu bạn gặp phải lỗi này, rõ ràng điều đó đã không xảy ra.

Bạn cần chạy thủ công unpack200trên tất cả .packcác tệp trong JRE's lib/lib/ext/các thư mục.

các cửa sổ

Để giải nén một .packtệp (ví dụ rt.pack), hãy chạy:

"%JAVA_HOME%\bin\unpack200" -r -v rt.pack rt.jar

Để giải nén đệ quy tất cả .packcác tệp, từ gốc JRE chạy:

for /r %f in (*.pack) do "%JAVA_HOME%\bin\unpack200.exe" -r -q "%f" "%~pf%~nf.jar"

* nix

Để giải nén một .packtệp (ví dụ rt.pack), hãy chạy:

/usr/bin/unpack200 -r -v rt.pack rt.jar

Để giải nén đệ quy tất cả .packcác tệp, từ gốc JRE chạy:

find -iname "*.pack" -exec sh -c "/usr/bin/unpack200 -r -q {} \$(echo {} | sed 's/\(.*\.\)pack/\1jar/')" \;

Khả năng 2

Bạn đã cài đặt sai Java theo một số cách khác. Có lẽ bạn đã cài đặt mà không có quyền quản trị hoặc cố gắng giải nén các tệp ra khỏi trình cài đặt. Thử lại với trình cài đặt và / hoặc nhiều đặc quyền hơn. Hoặc, nếu bạn không muốn sử dụng trình cài đặt, .tar.gzthay vào đó hãy sử dụng gói Java.


2
Đây là một câu hỏi của Solaris, không phải Windows.
Robin Kanters

1
Giải pháp này hữu ích nếu bạn chỉ tải xuống tệp lưu trữ java linux và không muốn sử dụng tập lệnh cài đặt.
PotOfTea

23
@Robin Kanters là thông báo lỗi / lỗi chính xác này, các triệu chứng và cách khắc phục của nó là không xác định nền tảng, Đây là câu hỏi Java RE, không phải Solaris.

1
xác nhận có sự cố này trên windows sau khi java thực hiện một số cập nhật tự động
Lassi Kinnunen

5
Tôi luôn luôn sử dụng for %i in (*.pack) do (..\bin\unpack200 "%i" "%~ni.jar" & del "%i")(Có thể một ngày nào đó tôi sẽ làm cho nó mạnh mẽ hơn một chút để tôi không phải thay đổi đường dẫn theo cách thủ công, nhưng sau đó, tôi thường chỉ sử dụng .gzbản phát hành JRE không đóng gói chúng. )
Synetech

31

Đối với Java 8 trên HĐH * nix, hãy truy cập <jdk root>/jre/lib(đối với tôi, /usr/java/jdk1.8.0_05/jre/lib). Từ thư mục này, thực hiện:

../../bin/unpack200 rt.pack rt.jar
../../bin/unpack200 jsse.pack jsse.rar
../../bin/unpack200 charsets.pack charsets.jar

Để ngăn các sự cố về phiên bản trong trường hợp bạn đã cài đặt JRE khác, hãy sử dụng cùng unpack200loại với JRE mà bạn đang sửa - nghĩa là, từ dòng lệnh, hãy sử dụng ../../bin/unpack200(đối với tôi, điều này mở rộng ra /usr/java/jdk1.8.0_05/bin/unpack200), không chỉ unpack200.


3
Để phát triển, bạn phải giải nén một số gói khác: "<jdk1.8_root>/lib" ../bin/unpack200 tools.pack tools.jarin"<jdk1.8_root>/jre/lib/ext" ../../bin/unpack200 jfxrt.pack jfxrt.jar ../../bin/unpack200 localedata.pack localedata.jar
betontalpfa

Một số tập lệnh có thể được tìm thấy ở đây để giải nén tất cả các lọ bị thiếu từ JDK được trích xuất thủ công: stackoverflow.com/questions/2203922/ chủ
Kloe2378231

Đây là vấn đề trong trường hợp của tôi. Tôi đang sử dụng Ubuntu 18.04. Cảm ơn bạn!
Boncho Valkov

13

Dường như đối với kiến ​​trúc 64 bit, bạn phải cài đặt cả phiên bản 32 bit và phiên bản jre 64 bit (các tệp độc lập với kiến ​​trúc như rt.jar chỉ được phân phối trong phiên bản 32 bit).

Hãy nhớ rằng phải chú ý để bao gồm java thực thi chính xác trên biến môi trường PATH toàn cầu.


3
Bạn đã lấy nó ở architecture independent files as rt.jar are distributed only in the 32-bin versionđâu?
Alexanderr M

Tôi vừa kiểm tra nội dung của bản phân phối
Tommaso

+1 Yep, bạn đã đúng. rt.jar không được bao gồm trong gói jre cho solaris 64-bit.
Alexanderr M

3
Để thêm vào điều này - chúng tôi đã chạy qua điều này khi thực hiện cài đặt thủ công trên SmartOS. Thực hiện theo các hướng dẫn được tìm thấy tại blog.oracle.com/thefield/entry/solaris_11_jdk_installation (đối với hầu hết các phần) và bạn sẽ ổn thôi.
Khushil

Tôi đã cài đặt cả hai gói jdk-7u79-solaris-sparcv9.tar.Z và jdk-7u79-solaris-sparc.tar.Z. Bây giờ có vẻ như nó đang làm việc. Ty.
Alex Pi

11

Giải pháp nhanh cho những người thiếu kiên nhẫn;) Trên các máy Windows , hãy thử điều này: Chuyển đến C:\Windows\System32thư mục và xóa java.exe(hoặc đổi tên thành một cái gì đó như java.exe.old).

Vì ít nhất là 1.6, không nên có một java.exethư mục Windows. Nếu có, đó là một phần còn lại từ một cái gì đó.

Đọc thêm một chút:

Tôi thực sự ngạc nhiên khi một câu hỏi từ năm 2012 chưa có câu trả lời được chấp thuận và tôi thực sự đã gặp phải vấn đề tương tự vào năm 2015 trên HĐH Win 7 32-bit của mình!

Vậy chuyện gì đã xảy ra?

Về cơ bản, mọi thứ đều hoạt động tốt, tôi đã tải xuống cơ sở dữ liệu H2 và khi tôi cố gắng bắt đầu, H2 Console (Command Line)tôi đã nhận được:

Error occurred during initialization of VM
java/lang/NoClassDefFoundError: java/lang/Object

Tôi tìm thấy câu hỏi này và tôi đã có thể xác nhận các triệu chứng tương tự:

JAVA_HOME được đặt chính xác:

echo %JAVA_HOME%
C:\Program Files\Java\jdk1.6.0_26

java -versionthất bại, trong khi java --fullversionhoạt động tốt:

java -fullversion
java full version "1.6.0_45-b06"

GIẢI PHÁP: Chuyển đến C:\Windows\System32thư mục và xóa java.exetập tin (tôi thực sự đã đổi tên) !!!!

Bây giờ, tôi nhận được:

java -version
java version "1.6.0_26"
Java(TM) SE Runtime Environment (build 1.6.0_26-b03)
Java HotSpot(TM) Client VM (build 20.1-b02, mixed mode, sharing)

H2 Console (Command Line)hoạt động tốt như là tốt!

Tín dụng đi đến bài cuối cùng trong diễn đàn này: https://bukkit.org/threads/java-lang-noclassdeffounderror-java-lang-object.70450/


Tôi cũng đang đối mặt với vấn đề này, nhưng có vẻ như trong trường hợp của bạn, bạn chỉ đơn giản là đang sử dụng một phiên bản java cũ hơn. 1.6.0_26! = 1.6.0_45, phiên bản cũ hơn của bạn có thể không gặp sự cố.
Centimane

Cũng phát hiện ra! Tôi đã cài đặt JDK 1.6.0_26 và phiên bản "mới hơn" đến từ thư mục Windows System32. Cả hai đều ở biến môi trường PATH và tôi thực sự không muốn sử dụng thời gian chạy java do Windows cung cấp. Do đó, xóa nó đã giải quyết vấn đề. Có lẽ bạn cũng có hai thời gian chạy java trong PATH của mình?
iaforek

Đối với tôi, bản cài đặt của tôi bị thiếu rt.jar (đó là nơi bạn tìm thấy java.lang.Object). Thật không may khi tôi cài đặt RPM từ khi khởi động, nó thiếu rt.jar, nhưng nếu tôi cài đặt sau nó thì đó là một vấn đề buồn cười.
Centimane

Tôi không thể giúp bạn với RPM. Xin lỗi vì điều đó.
iaforek

4
Đối với tôi các liên kết tượng trưng cho java C:\ProgramData\Oracle\Java\javapathđã gây ra vấn đề. Tôi thay đổi biến môi trường PATH và bây giờ nó hoạt động.
WhiteKnight

10

Tôi đã tải xuống JDK mới ngày hôm nay (1.8.0.73) c:> java.exevà bắt đầu nổi tiếng:

Error occurred during initialization of VM
java/lang/NoClassDefFoundError: java/lang/Object

Tôi chỉ muốn chia sẻ giải pháp làm việc của tôi ở đây.

Khi tôi cd'ied vào jdk\binthư mục, Java sẽ chạy tốt vì vậy tôi biết đó là PATH. Tôi đặt PATHở chỉ \jdk\bintại CMD để chứng minh và nó đã hoạt động.

Vì vậy, một trong những thư mục PATHcần phải có đã java.exegây ra xung đột, tôi nghĩ vậy. Khi nó bật ra, nó đã C:\>ProgramData\Oracle\Java\javapathgiữ các liên kết tượng trưng cho các tệp thực thi.

java.exeđã chỉ vào jre\bin. Các tập tin đã bị hỏng, khi tôi bắt đầu \jre\bin\java.exe- chính xác cùng một lỗi. Chơi lô tô. Tôi đã cài đặt lại JRE và vấn đề đã biến mất. Chúc mừng mã hóa ...


8

Rất có thể bạn đang thiếu một tệp có tên rt.jar trong bản cài đặt của bạn có tệp lớp cho java.lang.Object. Kiểm tra tập tin cài đặt của bạn, vv

Cụ thể, lưu ý rằng lớp phủ intsaller 64 bit (hoặc cài đặt "bên cạnh") bản cài đặt 32 bit hiện có. Nói cách khác, để có được bản cài đặt 64 bit hoạt động hoàn toàn, trước tiên bạn phải chạy cài đặt 32 bit và tiếp tục cài đặt 64 bit nếu bạn có máy có khả năng 64 bit ...

Nếu thay vào đó, bạn chỉ thực hiện cài đặt 64 bit, bạn sẽ thiếu một số tệp nhất định trong quá trình cài đặt và sẽ gặp các lỗi như ở trên.


Đó là một phần của câu trả lời. Bạn cần giải nén tất cả các tệp * .pack trong thư mục / lib và lib / ext của đường dẫn java SDK của bạn. unpack200 có thể giúp bạn với điều này. Xin vui lòng, xem nhận xét của Rigg802.
nguy hiểm89

7

Trên Windows 10, tôi đã gặp phải vấn đề tương tự với JRE 1.8 (8u121).
Đánh máy

java -version

dấu nhắc cmd trả về

Error occurred during initialization of VM
java/lang/NoClassDefFoundError: java/lang/Object

Tất cả các lệnh khác, echo %JAVA_HOME%, echo %JRE_HOME%, echo %PATH%, java -fullversionlàm việc tốt.

Chuyển đến các biến môi trường trên bảng quản trị hệ thống, xóa khỏi liên kết PATH C:\ProgramData\Oracle\Java\javapathvà chắc chắn đã đặt trong PATH liên kết tới C:\Program Files\Java Folder\bin.

Sau đó, kiểm tra xem có C:\Windows\System32tồn tại một java.exetập tin không; nếu đúng, xóa tập tin đó

Gõ bây giờ java -versionnó hoạt động tốt.


2
Tôi có cùng một vấn đề sau khi cập nhật windows tuy nhiên tôi không có thư mục C:\Program Files\Java Folder\bin. Thay vào đó tôi sử dụng C:\Program Files\Java\jdk1.8.0_161\binnhưng dù sao nó cũng không giúp tôi. Không có tệp java.exe trong thư mục System32
Tom

6

Vấn đề này xảy ra khi bạn cài đặt JDK _uncompressing_thay vì _executing_nó.

Ví dụ như:

unzip jdk-6u45-linux-x64.bin  (wrong)

sh ./jdk-6u45-linux-x64.bin   (right)

Trong kịch bản đầu tiên, các thư viện thời gian chạy, như rt.jar, không tự động không được đáp ứng (do đó, bạn có thể tìm thấy các tệp rt.pack, v.v. thay vì các tệp .jar).


4

Tôi đã có cùng một vấn đề gần đây. Trong trường hợp của tôi, máy windows 7 của tôi tự động tải xuống java và thêm vào C:\ProgramData\Oracle\Java\javapathđầu biến môi trường đường dẫn của tôi, điều này làm rối tung java của tôi. Khi tôi thoát khỏi điều đó, nó sẽ hoạt động.


3

nếu bạn thực hiện "chmod u + rx" trên tệp nhị phân java và chạy nó, nó sẽ giải nén các tệp jar và bạn có thể thực hiện chuyển đổi java mà không gặp lỗi thời gian chạy


3

Bạn không thể chỉ cài đặt 64 bit, trước tiên bạn phải cài đặt 32 bit và sau đó thêm các thành phần 64 bit.

Từ java.com:

Cài đặt JRE trên hệ thống 64 bit cho phép JVM 32 bit là một quy trình gồm hai bước: đầu tiên cài đặt JRE 32 bit và sau đó cài đặt hỗ trợ bổ sung cho các hoạt động 64 bit. Tên tập tin như sau:


OP không đề cập bất cứ điều gì về việc chạy JVM 32 bit trên hệ thống 64 bit ...?
wookie919

1

Nếu bạn cài đặt phiên bản 64 bit mà không cài đặt 32 bit trước, lỗi này sẽ xảy ra mặc dù đã khắc phục tất cả các sự cố khác. Tôi có một máy Windows 10 Pro Dell i7 64 bit hoàn toàn mới chạy Java 8u71. Sau khi đã thêm% path% và% classpath% của tôi vào các biến môi trường và thử một số bản sửa lỗi khác, gỡ cài đặt 64 bit, cài đặt 32 bit sau đó cài đặt lại 64 bit đã sửa nó.

Một số vấn đề, như không giải nén tệp của bạn, v.v. đã được đề cập là nguyên nhân có thể vẫn có thể gây ra sự cố, nhưng nếu bạn không làm điều này, thì các cách khắc phục khác sẽ không hoạt động.


1

Trong trường hợp của tôi, tôi sử dụng windows 8.1 (đã cài đặt jdk1.8.0_77), tôi đã làm ba việc:

  1. Tôi đã xóa jdks trước
  2. Tôi đã đổi tên tệp java.exe bên trong C: \ Windows \ System32
  3. Tôi cũng đã xóa C: \ ProgramData \ Oracle \ Java \ javapath trong PATH của tôi (echo% PATH%)

và voila đã sửa nó!



0

Một câu trả lời khác có thể là sử dụng tệp tar.gz thay vào đó trong trường hợp Linux. Dường như có một cái gì đó tương tự cho nền tảng solaris. Bằng cách này, tất cả các tệp sẽ có định dạng như mong đợi và sẽ không có bất kỳ vấn đề giải nén nào.


Bạn có ý nghĩa gì khi sử dụng tệp tar.gz thay thế?
Koray Tugay

Xem xét tôi đã trả lời điều này khoảng 2,5 năm trước, tôi phải xem lại trang web tải về java. Ở đó bạn có lựa chọn tải xuống java hoặc được đóng gói như .rpm cho LinuX. Tôi nghĩ rằng tôi đã thử nó trước đây và gặp rắc rối. Thay vào đó, tải xuống tệp tar.gz hoạt động tốt hơn vì nó có tất cả nội dung trong đó ở định dạng tệp mong muốn.
Nhịp điệu

0

Tôi gặp một số vấn đề khi cài đặt Linux x86_64 với JDK 1.7.0_40 i586. Tôi phát hiện ra rằng vấn đề là vòng / phút không thể giải nén các tệp jar, như được đề cập bởi Rigg802 (mặc dù vòng / phút hoàn thành việc đánh dấu thành công):

Unpacking JAR files...
        rt.jar...
/var/tmp/rpm-tmp.zLzkkb: /usr/java/jdk1.7.0_40/bin/unpack200: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory
Error: unpack could not create JAR file:

        /usr/java/jdk1.7.0_40/jre/lib/rt.jar

Tệp /lib/ld-linux.so.2 được cung cấp bởi glibc-2.12-1.107.el6_4.4. i686 không nằm trong số vòng / phút của jdk vòng / phút.

Vòng quay JDK của Oracle cũng yêu cầu phiên bản 32 bit của libgcc-4.4.7-3.el6. i686 sẽ được cài đặt

Vì vậy, cách giải quyết là cài đặt glibc-2.12-1.107.el6_4.4.i686 và libgcc-4.4.7-3.el6.i686 trước.


Tôi cũng gặp vấn đề tương tự với Fedora 20 và cài đặt libgcc-4.8.2-7.fc20.i686 để giải quyết vấn đề. Txs
Ống

0

Khắc phục nhanh mà hiệu quả với tôi:

for file in $(find "$JAVA_HOME" -name "*pack")
do 
    unpack200 "${file}" "${test_file/%pack/jar}";
done

0

Tôi thấy rằng lỗi này xảy ra khi tôi trích xuất tệp .rpm.

Sau đó tôi đã xóa thư mục đó và tải xuống jdk-7u79-linux-x64.tar.gz cho Linux 64 và thay vào đó trích xuất nội dung của tệp này. Ngoài ra: xuất JAVA_HOME = / opt / java / jdk1.7.0_79 xuất JDK_HOME = / opt / java / jdk1.7.0_79 xuất PATH = $ {JAVA_HOME} / bin


0

Chỉ cần cài đặt jre một lần nữa . Nó chỉ đơn giản là giải quyết vấn đề của tôi. (Lô khởi động SonarQube bắt đầu gặp lỗi này sau khi tôi cài đặt jdk)


0

Chuyển đến bảng điều khiển, gỡ cài đặt các công cụ liên quan đến java (đóng nhật thực nếu mở), sau đó cài đặt lại java và mở nhật thực, làm sạch các dự án.


Downvote. OP rõ ràng không phải trên nền tảng Windows.
peterh

0

Chỉ cần làm điều này trên Solaris và gặp phải vấn đề tương tự này, ngay cả khi "java -version" không hoạt động. Có một lý do là các phiên bản 64 bit của distro nhỏ hơn WAY 32 bit. Nó thực sự như đã nêu ở trên:

Nói cách khác, để có được bản cài đặt 64 bit hoạt động hoàn toàn, trước tiên bạn phải chạy cài đặt 32 bit và tiếp tục cài đặt 64 bit nếu bạn có máy có khả năng 64 bit ...

Vì vậy, tôi đã chạy trình cài đặt cho 32-bit:

sh jdk-6u131-solaris-sparc.sh

Sau đó, tôi chạy trình cài đặt cho 64-bit:

sh jdk-6u131-solaris-sparcv9.sh

Điều này cho tôi một số tệp thực thi java để chọn:

  • $ tìm. tên java
  • ./jdk1.6.0_131/db/demo/programs/scores/java
  • ./jdk1.6.0_131/db/demo/programs/vtis/java
  • ./jdk1.6.0_131/bin/java
  • ./jdk1.6.0_131/bin/sparcv9/java
  • ./jdk1.6.0_131/jre/bin/java
  • ./jdk1.6.0_131/jre/bin/sparcv9/java

Các sparcv9 java là các phiên bản 64 bit và chúng hoạt động với "-version" khi được cài đặt cùng với JDK 32 bit.

  • ./jdk1.6.0_131/bin/sparcv9/java -version
  • phiên bản java "1.6.0_131"
  • Môi trường thời gian chạy Java (TM) SE (bản dựng 1.6.0_131-b32)
  • Máy chủ 64-bit Java HotSpot (TM) (bản dựng 20.131-b32, chế độ hỗn hợp)

-Dan


Đúng, nhưng câu hỏi là từ năm 2012 và chúng tôi không biết nền tảng của OP. Anh ấy đang đề cập đến /usr/javavì vậy nó rõ ràng là một hệ điều hành Linux / Unix. Bạn đúng rằng bản cài đặt Solaris của Java khác với mọi HĐH khác cho đến Java8. Về cơ bản bạn phải cài đặt đầu tiên gói 32bit và sau đó gói 64bit trên đầu trang của nó. Nhưng đó là tất cả trong quá khứ rằng Java 32 bit không còn được hỗ trợ trên Solaris, tương tự như Mac OS X.
peterh

0

Trong cửa sổ 10 đã có một đường dẫn hiện diện trong env vì C:\>ProgramData\Oracle\Java\javapathnó chứa các liên kết tượng trưng đến các tệp thực thi.

Khi tôi cài đặt một phiên bản mới và loại bỏ nó khỏi biến môi trường của tôi, tất cả dự án của tôi bắt đầu hiển thị nó.

Tôi đang sử dụng oxy nhật thực ở cửa sổ 10

Để giải quyết nó: -

  1. Tôi chỉ xóa đường dẫn C:\>ProgramData\Oracle\Java\javapathkhỏi biến môi trường và thêm env mới là JAVA_HOME và% JAVA_HOME% / bin trong đường dẫn

  2. Tôi cài đặt lại jdk với quyền quản trị viên (xóa thư mục JRE trước đó)

  3. Mở dự án nhật thực của bạn> nhấp chuột phải> Goto Proprieties> Trong Thư viện> Bây giờ xóa Thư viện hệ thống JRE> Nhấp vào Thêm thư viện> chọn "Thư viện hệ thống JRE"> Nhấp vào Tiếp theo> Chọn "JRE mặc định không gian làm việc (jre1.8.x_xxx)"> hoàn thành

Vấn đề của tôi đã được giải quyết :) Hy vọng nó sẽ giúp bạn :)



0

Vì vậy, tôi đã tiếp tục thử mọi thứ và cuối cùng có vẻ như việc cài đặt lại java sau khi gỡ cài đặt nó đã khắc phục vấn đề của tôi.


0

nếu có vấn đề với phiên bản cài đặt JAVA

C: \ Trường hợp JAVA

sẽ cung cấp cho vị trí của java nó chọn. Nếu bạn có bất kỳ đường dẫn nào khác ngoài cài đặt của mình, hãy xóa các tệp đó hoặc đổi tên nó (có thể là _backup). bạn sẽ nhận được phiên bản thích hợp của tệp java.


-1

Tôi gặp vấn đề tương tự, tôi đã cài đặt hai phiên bản java do đó nó gây ra vấn đề này. để xác nhận điều này và nhấp vào biểu tượng java trong bảng điều khiển nếu không mở thì vấn đề cũng tương tự, chỉ cần đi và gỡ cài đặt một phiên bản. miếng bánh. cảm ơn.


-2

Tôi đã gặp vấn đề tương tự: Lỗi xảy ra trong quá trình khởi tạo VM java / lang / NoClassDefFoundError: java / lang / Object

Thực hiện theo các bước dưới đây để giải quyết vấn đề:

Bước 1. Goto C: \ Program Files \ và tìm kiếm thư mục Java.

Bước 2. Xóa thư mục C: \ Program Files \ Java.

Bước 3. Tải xuống Jdk mới cho phiên bản 32 bit / 64 bit của bạn từ http://www.oracle.com/technetwork/java/javase/doads/index.html

Bước 4. Cài đặt JDK

Bước 5: Bây giờ Đặt JAVA_HOME thành "C: \ Chương trình tệp \ Java \ jdk1.8.0_91"

Bước 6: Mở dấu nhắc lệnh và nhập java -version.

Nó hoạt động.


OP đã đề cập rằng JAVA_HOME không phải là vấn đề ở đây
Alexandre Beaudet

Không cần phải định cấu hình lại JAVA_HOME nếu nó đã được đặt thành vị trí jdk. Bạn có thể chỉ cần bỏ qua Bước 5. Chỉ cần xóa JDK cũ hơn và cài đặt cái mới hơn.
Mahesh Sutar
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.