Dự án Java trong Eclipse: Loại java.lang.Object không thể được giải quyết. Nó được tham chiếu gián tiếp từ các tập tin. Class yêu cầu


209

Tôi gặp lỗi sau khi nhập dự án trong Eclipse:

Loại java.lang.Object không thể được giải quyết. Nó được tham chiếu gián tiếp từ các tập tin. Class yêu cầu

Tuy nhiên, tôi đã đặt đường dẫn là C: \ Program Files \ Java \ jdk1.6.0_41 trong Eclipse Kepler, thông qua Window »Preferences» Java »JREs đã cài đặt .


tôi đã thực hiện "dự án sao chép" và lỗi biến mất
Srinath Ganesh

Hành vi vẫn xảy ra trong Luna Service Release 2 (4.4.2). Giải pháp ở đây vẫn có thể giải quyết vấn đề.
phobic

Câu trả lời:


243

Đây là một lỗi Eclipse khó chịu dường như cắn ngay bây giờ và sau đó. Xem http://dev-answers.blogspot.de/2009/06/eclipse-build-errors-javalangobject.html để biết giải pháp có thể, nếu không hãy thử cách sau;

  • Đóng dự án và mở lại nó.

  • Làm sạch dự án (Nó sẽ xây dựng lại đường dẫn do đó cấu hình lại với các thư viện JDK)

    HOẶC LÀ

  • Xóa và nhập lại dự án và nếu cần thực hiện lại các bước trên.

Cách chữa tốt hơn là dùng thử NetBeans thay vì Eclipse :-)


4
Tương tự ở đây. Lỗi Eclipse kỳ quái. Như liên kết đã nói, xóa thư viện JRE khỏi đường dẫn lớp của dự án và thêm lại nó để khắc phục sự cố.
Felipe Leão

Ôi vì một thế giới không có hợp đồng với IBM.
Zibbobz

1
Tôi đã gặp lỗi đó trên một dự án Android, vì tôi đã nhấp vào Công cụ Android -> Sửa thuộc tính dự án đã sửa nó.
Lorenz

@Zibbobz tại sao chúng ta cần hợp đồng với IBM. Tôi vẫn không thể giải quyết điều này với IBM Java.
Anand

Tôi tự hỏi nếu điều này có liên quan đến khi bạn thay đổi biến môi trường JAVA_HOME? Tôi đã thay đổi biến JAVA_HOME của mình và nó xuất hiện. Tôi vừa xóa / cài đặt lại thư viện JRE.
dùng2124871

221

Các bước sau đây có thể giúp:

  1. Nhấp chuột phải vào dự án »Thuộc tính» Đường dẫn xây dựng Java
  2. Chọn tab Thư viện
  3. Tìm Thư viện hệ thống JRE và xóa nó
  4. Nhấp vào nút Thêm thư viện ... ở bên phải »Thêm Thư viện hệ thống JRE (JRE mặc định của không gian làm việc)

4
Trong trường hợp của tôi, điều đó xảy ra do tôi đã vô tình xóa JRE khi nhập dự án [lỗi của tôi]. Điều này đã cho tôi một manh mối để khắc phục vấn đề.
GayashanNA

trong trường hợp của tôi nó không tồn tại, vì vậy tôi đã thêm nó.
Muhammed giới thiệu

1
Mặc dù điều này đã làm việc trong trường hợp của tôi, đã giải quyết được 8 lỗi nhưng đã cho tôi thêm 33 lỗi!
Harsh Phoujdar

10

Đây là cách tôi giải quyết nó: Trong Java-ADT: Windows - Preference - Java - JREs đã cài đặt Chỉ cần thêm một JRE khác, chỉ vào thư mục 'jre' trong thư mục JDK của bạn. (jre được bao gồm trong jdk). Hãy chắc chắn rằng bạn đã chọn jre mới.


9

Điều này đã xảy ra với tôi khi tôi nhập một dự án Java 1.8 từ Eclipse Luna vào Kepler Eclipse.

  1. Nhấp chuột phải vào dự án> Đường dẫn xây dựng> cấu hình đường dẫn xây dựng ...
  2. Chọn tab Thư viện, bạn sẽ thấy lỗi Java 1.8
  3. Chọn java 1.8 jre và nhấp vào nút Xóa
  4. Thêm Thư viện ...> Thư viện hệ thống JRE> Tiếp theo> mặc định không gian làm việc> Kết thúc
  5. Nhấn OK để đóng cửa sổ thuộc tính
  6. Chuyển đến menu dự án> Sạch ...> OK

Et voilà, điều đó làm việc cho tôi.


7

Lớp đối tượng là lớp cơ sở cho tất cả các lớp trong java, nếu bạn thiếu điều này có nghĩa là bạn không có lib jdk trong đường dẫn của bạn. Tôi không biết nhiều về Kepler nhưng bạn cần chắc chắn rằng nó trỏ đến một jdk chính xác để biên dịch và một jre chính xác để chạy các ứng dụng java của bạn.

Tuy nhiên, tôi đã đặt đường dẫn là C: \ Program Files \ Java \ jdk1.6.0_41 từ thanh công cụ Kepler nhật thực-> windows-> Preferences-> java-> đã cài đặt jre

Bạn đang cố gắng chỉ jdk thay vì jre trong sở thích của bạn. thanh công cụ-> windows-> Preferences-> java-> jre đã cài đặt nên trỏ đến jre chứ không phải jdk.


Tôi đã cố gắng với điều đó là tốt. Nhưng vẫn trong tình trạng lỗi tương tự.
Kim cương xanh

4

Không có câu trả lời nào khác làm việc cho tôi. Nhưng làm điều này đã làm:

  1. Nhấp chuột phải vào dự án trong gói explorer.
  2. Nguồn> Dọn dẹp ...
  3. Tiếp theo> Kết thúc

Khi tôi thực hiện điều này, Eclipse đã thêm một lần nhập vào một trong các lớp của tôi. Tôi nghĩ điều này xảy ra bởi vì tôi đã lưu dự án của mình với một lần nhập bị thiếu, có lẽ đang vội vã về nhà sau giờ làm việc.


cảm ơn .. đang làm việc .. xin vui lòng giải thích cho tôi cách nó hoạt động?
Singh Arjun

@SinghArjun Tôi không chắc nhưng tôi nghĩ điều này xảy ra khi dự án được lưu với một lần nhập bị thiếu.
Jack Pettinger

4

Bạn đã cài đặt một phiên bản JRE khác sau khi sử dụng phiên bản JRE trước đó trong Eclipse.

nếu không hơn:

  1. Nhấp chuột phải vào dự án của bạn -> Đường dẫn xây dựng -> Cấu hình đường dẫn xây dựng
  2. Chuyển đến tab 'Thư viện'
  3. Thêm thư viện -> Thư viện hệ thống JRE -> Tiếp theo -> JRE mặc định không gian làm việc (hoặc bạn có thể chọn JRE thay thế từ hệ thống của bạn) -> Kết thúc

nếu Có hơn.

  1. Nhấp chuột phải vào dự án của bạn -> Đường dẫn xây dựng -> Cấu hình đường dẫn xây dựng
  2. Chuyển đến tab 'Thư viện'
  3. Xóa phiên bản trước
  4. Thêm thư viện -> Thư viện hệ thống JRE -> Tiếp theo -> JRE mặc định của không gian làm việc (hoặc bạn có thể chọn JRE thay thế từ hệ thống của mình) -> Kết thúc

4

Không có số lượng dọn dẹp, đóng / mở lại dự án & IDE, loại bỏ / thêm JRE trong đường dẫn xây dựng làm việc cho tôi.

Giải pháp tôi tìm thấy là xóa dự án khỏi Eclipse (không phải từ đĩa), xóa các tệp Eclipse của dự án khỏi đĩa và nhập lại vào Eclipse. Điều đó đã làm việc.

Nó thậm chí còn nhanh hơn nếu bạn đang sử dụng Maven:

  1. Đóng Eclipse (không cần xóa dự án)
  2. Chạy mvn clean eclipse:clean eclipse:eclipse
  3. Mở Eclipse. Dự án của bạn vẫn còn và vấn đề sẽ biến mất.

3

Một vấn đề khác có thể là mục tiêu xây dựng dự án Android không được đặt.

  1. Nhấp chuột phải vào dự án
  2. Chọn thuộc tính
  3. Nhấp vào Android
  4. Đánh dấu vào mục tiêu xây dựng dự án phù hợp
  5. Áp dụng | đồng ý

3

Nhấp chuột phải vào dự án -> Hiển thị trong Bộ điều hướng Trong chế độ xem điều hướng, bạn có thể thấy tệp. Classpath, hãy xóa tệp này và xây dựng dự án. Điều này làm việc cho tôi. Tái bút Nếu bạn đã tích hợp dự án nhật thực của bạn với một số điều khiển phiên bản như perfoce / svn, thì việc hủy liên kết dự án trước khi bạn xóa. Classpath sẽ hữu ích.


2

Tôi đã phải đối mặt với vấn đề này với ứng dụng play-java trên nhật thực sau khi thêm bộ điều khiển, tôi đã gỡ bỏ và cài đặt lại JRE thông qua đường dẫn xây dựng, sau đó gỡ bỏ và nhập dự án của tôi tự động giải quyết vấn đề này. Cảm ơn con quay.


Điều này giống như câu trả lời của Ripon Al Wasim, phải không?
Nicolas Raoul

2

Đây có vẻ là một lỗi của Eclipse, mặc dù việc khởi động lại Eclipse rất tốt cho tôi, hy vọng điều này cũng giúp được người khác.


2

Điều đã giải quyết vấn đề của tôi là

1) Cài đặt jdk trong thư mục không có khoảng trắng:

C:/Java

Thay vì

C:/Program Files/Java

Đây là một vấn đề được biết đến trong Windows. Tôi JAVA_HOMEcũng sửa

2) Tôi java 7 và java 8 trên máy tính xách tay của tôi. Vì vậy, tôi xác định jvm bằng cách sử dụng eclipse.ini. Đây không phải là một bước bắt buộc nếu bạn không có -vmmục trong eclipse.ini. Tôi đã cập nhật:

C:/Java/jdk1.7.0_79/jre/bin/javaw.exe

Thay vì:

C:/Java/jdk1.7.0_79/bin/javaw.exe

Chúc may mắn


1

Tôi gặp vấn đề tương tự trong các cửa sổ nhật thực mà tôi không thể thêm các tệp. Class phụ thuộc từ JNI. Để giải quyết tương tự, tôi đã chuyển tất cả mã sang NetBeans IDE.

Không thể thêm tất cả các tệp lớp từ thư mục JNI / JNA trong Eclipse (JAVA, Windows 7)


Tại sao nó được bỏ phiếu? Xem tôi đã thử tất cả các giải pháp có thể, vẫn không thể giải quyết vấn đề và sau đó tôi đã chuyển mã sang NetBeans. Tôi đã trả lời điều này bởi vì nếu có ai mắc kẹt, trong trường hợp xấu nhất, anh ấy có thể được giúp đỡ.
Jyo the Whiff 16/07/2015

Bạn có thể đúng nhưng đối với tôi JNI / JNA đã hoạt động tốt (đối với nhật thực - 4.9.0) sau khi xóa thư viện hiện có và thiết lập thư viện jre mặc định, đóng dự án, mở dự án.
Ajay Kumar

1

Mặc dù chúng tôi đang làm việc với các phiên bản tomcat 6 và jdk 1.8, một số tính năng sẽ không hoạt động và lỗi này bạn gặp phải là một. bạn cần thay đổi phiên bản jdk thành phiên bản ổn định (tốt nhất là jdk 1.6 hoặc jdk 1.8_65) trong nhật thực để khắc phục lỗi này.

trong nhật thực bước 1: thuộc tính -> java build path -> jre system library (remove) bước 2: add -> jre system library -> Alternate jre -> install jre -> add -> Standard VM -> (trong jre home, đặt đường dẫn jdk) -> kết thúc

Bây giờ làm sạch và kiểm tra dự án


1

Tôi đã gặp lỗi này vì tôi đã cài đặt "IDE IDE cho các nhà phát triển Java doanh nghiệp", tôi đã gỡ cài đặt này và cài đặt "IDE IDE cho các nhà phát triển Java". Vấn đề được giải quyết cho tôi.


0

Xảy ra với tôi sau khi tôi đã cài đặt một số cập nhật trong nhật thực nhưng quên khởi động lại sau đó. Vì vậy, có thể khởi động lại nhật thực có thể giúp đỡ.


Tôi đã cố gắng để làm điều đó, nhưng tôi không được phép viết bình luận.
NotX

0

Tuy nhiên điều này có thể tầm thường, hãy kiểm tra cài đặt Java của bạn. Đối với tôi, rt.jar đã mất tích .

Tôi đã tìm thấy điều này sau khi loay hoay trong nửa ngày với các cài đặt Eclipse và không đi đến đâu. Tuyệt vọng, cuối cùng tôi quyết định thử biên dịch dự án từ dòng lệnh. Tôi đã không mong đợi để nhìn thấy bất cứ điều gì sai vì tôi nghĩ đó là một vấn đề của Eclipse nhưng với sự ngạc nhiên của tôi, tôi đã thấy điều này:

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

Tôi không biết điều gì đã xảy ra với bản cài đặt Java của mình và rt.jar đã đi đâu. Dù sao, điều này đến như một lời nhắc nhở để đi qua danh sách kiểm tra thất bại và đánh dấu vào tất cả các hộp cho dù chúng không thể tin được. Nó sẽ giúp tôi tiết kiệm rất nhiều thời gian.


0

Nó hoạt động với tôi sau khi bỏ chọn 'Tùy chọn' người dùng '- tùy chọn' trong trình biên dịch Java nhật thực

Trong nhật thực, bước 1: thuộc tính -> java Compmore -> uchecking tùy chọn 'User' --releae 'tùy chọn -> kết thúc

Phiên bản Java 13.0.1 Phiên bản Eclipse: IDE IDE cho Nhà phát triển Java doanh nghiệp.


0

Nhấp chuột phải vào dự án, chọn Maven -> Cập nhật dự án. Điều đó sẽ giải quyết vấn đề.


thực hiện nhật thực -> maven -> cập nhật nên là một trong những bước trong khi khắc phục sự cố.
Vaibs

0

Trong trường hợp của tôi, đó là một dự án mô-đun lớn và ' X màu đỏ ' chỉ hiển thị trong dự án mẹ. Tôi đã đi đến dự án cha mẹ

Thuộc tính -> Đường dẫn được xây dựng

một Thư viện JRE đã xóa ở đó, chỉ có điều, không còn Thư viện JRE nào trong dự án mẹ nữa.


0

Không có giải pháp nào trong số này làm việc cho tôi. Trong trường hợp của tôi, vấn đề là tôi có một số mã Java tạo .javacác tệp và tôi đã vô tình tạo một tệp có tên Class.java(nội dung dường như không quan trọng). Loại bỏ các tập tin đã khắc phục vấn đề.

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.