Eclipse: Thất vọng với Java 1.7 (thư viện không liên kết)


76

Tôi đang gặp sự cố với một dự án hoàn toàn mới trong bản cài đặt hoàn toàn mới của Eclipse. Các bước thực hiện lại:

  1. Tải xuống phiên bản Eclipse này: http://www.eclipse.org/downloads/packages/eclipse-ide-java-developers/heliosr

  2. Giải nén vào c: \ program files \ eclipse java

  3. Khởi chạy Eclipse; chọn một không gian làm việc

  4. Tệp > Mới > Dự án Java

  5. Tên dự án: Hello World . JRE: "Sử dụng môi trường thực thi JRE: JavaSE-1.7"

  6. Nhấn Tiếp theo , chuyển đến tab Thư viện. Mục nhập duy nhất là Thư viện Hệ thống JRE [JavaSE-1.7] (không liên kết) . "Unbound" nghĩa là gì? Làm thế nào để tôi sửa chữa nó?

  7. Nhấn Kết thúc .

Dự kiến: Dự án hoàn toàn mới hoạt động tốt.

Thực tế: Có hai lỗi:

The project cannot be built until build path errors are resolved HelloWord  Unknown Java Problem
Unbound classpath container: 'JRE System Library [JavaSE-1.7]' in project 'HelloWord' HelloWord  Build path Build Path Problem

Tôi làm gì sai ở đây?

Cập nhật: Có lẽ tôi không thực sự có Java 7 JDK trên máy của mình. Làm thế nào tôi có thể chắc chắn?

Cập nhật 2: Có vẻ như Java 7 trên thực tế vẫn chưa ra mắt. Ngọt.


9
Câu hỏi này nên được mở lại. Tôi đoán bây giờ nó rất phù hợp khi Java 7 đã ra mắt. Tôi đã từng định cấu hình Java 6 trong nhật thực của mình và câu trả lời bên dưới đã giúp tôi rất nhiều. Tôi nghĩ rằng nhiều người cũng đang trải qua điều này.
Ardee Aram

8
Biệt phái bỏ phiếu để mở lại. Điều này thật đúng với gì mà tôi đã tìm kiếm.
Dylan

2
Điều này đã giúp tôi hơn hai năm sau khi nó được yêu cầu. Nên được mở lại. Nó hầu như không "quá bản địa hóa" theo như tôi thấy
marsbard

2
+1 khi mở lại, điều này đã giúp tôi trực tiếp
highseth

Tôi cũng gặp phải điều này đến từ 1,7 đến 1,8 gần đây. Phiên bản dường như không quan trọng. Eclipse đang sử dụng một số phiên bản CDC-1.0 Foundation, được dán nhãn là 1.6 vì một số lý do (ngay cả khi nó là 1.8). Thay đổi nó để sử dụng hệ thống đã cài đặt của tôi JRE (còn gọi là JRE thay thế) đã khắc phục các cảnh báo xung đột kỳ lạ mà tôi nhận được. Và đây là bản cài đặt Eclipse Neon mới. Nó nên đã phát hiện hệ thống của tôi JRE lúc khởi động đầu tiên.
Alex Summers

Câu trả lời:


106

1) Tìm nơi java được cài đặt trên ổ đĩa của bạn, mở lời nhắc cmd, đi đến vị trí đó và chạy ". \ Java -version" để tìm ra phiên bản chính xác. Hoặc, khá đơn giản, hãy kiểm tra mô-đun thêm / xóa trong bảng điều khiển.

2) Sau khi thực sự cài đặt jdk 7, bạn cần thông báo cho Eclipse về nó. Window -> Preferences -> Java -> JREs đã cài đặt.


17
Cần thêm rằng trên ngăn tùy chọn cho "JRE đã cài đặt", bạn có thể chỉ cần nhấn nút "Tìm kiếm" để tự động định vị JDK 7, nếu nó được cài đặt.
Thunderforge

2
Trên Ubuntu 12.04, tôi thấy JDK cài đặt của tôi trong / usr / lib / jvm
Jeffrey Martinez

Thiết lập của tôi là jdk8 + Eclipse 3.7. Sự cố "Thư viện hệ thống JRE [JavaSE-1.7] (không liên kết)." vẫn tồn tại. Eclipse 3.7 không ràng buộc jdk8 với môi trường Java7. Bất kì lời đề nghị nào?
petertc

10

Để đặt JDK bạn có thể xem video này: cách đặt JDK . Sau đó, khi bạn có JDK:

  1. Nhấp chuột phải vào đường dẫn xây dựng và chọn "Đường dẫn xây dựng"
  2. Chọn "Định cấu hình đường dẫn xây dựng"
  3. Nhấp vào "Thư viện hệ thống JRE [JavaSE-1.7] (không liên kết)"
  4. Chỉnh sửa nó
  5. Chọn "JRE thay thế"
  6. Nhấp vào nút "JREs đã cài đặt .."
  7. Nhấn Thêm
  8. Chọn thêm "Máy ảo tiêu chuẩn"
  9. Chọn Thư mục chính của JRE - thường nó nằm trong thư mục "C: \ Program Files \ Java \ jre7"
  10. Nhấn "Hoàn tất"
  11. Kiểm tra lại "Jre7" mới xuất hiện: Xác minh rằng bây giờ khi bạn chỉnh sửa "Thư viện hệ thống JRE [JavaSE-1.7]" "JRE thay thế" được chọn cho jre7.

8

1) Đi đến cấu hình đường dẫn xây dựng. 2) Xóa thư viện JRE chưa liên kết. 3) Thêm thư viện -> Thư viện hệ thống JRE.

Sau đó, biên dịch dự án và thực hiện ..


2

Bạn đã thực sự tải xuống và cài đặt một trong các bản dựng quan trọng từ https://jdk7.dev.java.net/ chưa?

Bạn có thể chơi với các tính năng, mặc dù nó không ổn định, vì vậy bạn không nên phát hành phần mềm chống lại chúng.


Có vẻ như tôi chưa sử dụng, trừ khi nó đi kèm với phiên bản Eclipse đó.
Nick Heiner

Không, bạn cần cài đặt từ trang web đó, nó không đi kèm với Eclipse (Eclipse có đi kèm với JVM trong mọi trường hợp không?).
Sinjo

2

Hầu hết thời gian sau khi cài đặt Eclipse eclipse.ini bị thay đổi. Nếu bạn thay đổi jdk trong eclipse.ini thì eclipse sẽ sử dụng jdk này theo mặc định.

Giả sử bạn cài đặt một phiên bản mới của Eclipse và bạn đã quên thay đổi eclipse.ini liên quan đến jdk. Sau đó, Eclipse tìm thấy một jdk cho bạn. Giả sử java 1.6 được tự động phát hiện (bạn không làm gì cả).

Nếu bạn sử dụng maven (M2E) và bạn tham chiếu 1.7 jdk thì bạn sẽ thấy thông báo bực bội. Nhưng thông thường nó không được hiển thị vì bạn định cấu hình jdk chính xác trong eclipse.ini.

Đó là trường hợp của tôi. Tôi đã tham chiếu vào pom đến một jdk chưa được định cấu hình trong Eclipse.

Trong ảnh chụp màn hình, bạn có thể thấy rằng 1.7 được cấu hình và nhìn thấy bởi Eclipse. Trong trường hợp này, bạn nên tham khảo pom đến jre tương thích với 1.7! Nếu không -> thông báo bực bội!

jdk 1.7 được định cấu hình trong eclipse.ini và được truy xuất trong jre đã cài đặt


2

Nguyên nhân: Đây là trường hợp phổ biến khi chúng tôi nhập dự án mới với đường dẫn lib và JAR khác nhau.

Tôi đã gặp phải sự cố này và đã được giải quyết bằng cách sử dụng các bước chính xác sau:

  • Dự án > Thuộc tính
  • Xây dựng đường dẫn > Định cấu hình đường dẫn xây dựng
  • Chọn tab "Thư viện"
  • Nhấp vào "Thêm thư viện"
  • Chọn "Thư viện hệ thống JRE" từ danh sách hiển thị
  • Nhấp vào "Tiếp theo" sau đó là nút "Kết thúc"

Điều này sẽ chỉ ra đường dẫn JRE phù hợp và hợp lệ của hệ thống của bạn, điều này đã giúp tôi. Chúc mừng :)


1

Đã cập nhật tệp eclipse.ini với thuộc tính giá trị khóa -Dosgi.requiredJavaVersion = 1,7 (hoặc) 1,8 tùy theo điều kiện nào áp dụng. - nó hiệu quả với tôi.


1

Đã cập nhật eclipse.initệp có thuộc tính khóa-giá trị

-Dosgi.requiredJavaVersion=1.5 

đến

-Dosgi.requiredJavaVersion=1.8

bởi vì, đó là phiên bản JAVA của tôi.

Ngoài ra, được chọn JRE 1.8làm thư viện dự án của tôi

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.