Cảnh báo - Xây dựng đường dẫn chỉ định môi trường thực thi J2SE-1.4


140

Tôi tạo một dự án Maven trong Helios Eclipse. Nó hoạt động tốt trong một ngày, nhưng sau đó cảnh báo này xuất hiện:

Xây dựng đường dẫn chỉ định môi trường thực thi J2SE-1.4. Không có JRE nào được cài đặt trong không gian làm việc tương thích hoàn toàn với môi trường này.

Vì thông báo này, dự án đã ngừng biên dịch và gỡ lỗi. Có ai có giải pháp cho vấn đề này?

Câu trả lời:


226

Trong Eclipse từ dự án của bạn:

  1. Nhấp chuột phải vào dự án của bạn
  2. Nhấp vào Thuộc tính
  3. Đường dẫn xây dựng Java: Thư viện; Xóa "Thư viện hệ thống JRE [J2SE 1.4]"
  4. Nhấp vào Thêm thư viện -> Thư viện hệ thống JRE
  5. Chọn "Môi trường thực thi" mới hoặc JRE mặc định của Workspace

43
Câu trả lời này đúng với Eclipse, nhưng sai cho Maven + Eclipse
Chris Dolan

17
Điều này sẽ tạm thời khắc phục sự cố, cho đến khi một bản dựng maven khác được chạy, tại thời điểm đó, phiên bản JRE sẽ được đặt lại về mặc định. Xem câu trả lời của Pascal Thivent để thay đổi phiên bản mặc định của JRE được chỉ định trong POM.
matthewb

Tất cả đều không hoạt động. Bất cứ khi nào bạn thực hiện [Alt] [F5] để cập nhật cấu hình maven, tất cả các chỉnh sửa thủ công như vậy sẽ nhận được rất nhiều và cảnh báo sẽ quay trở lại. Xem bug.eclipse.org/bugs/show_orms.cgi?id=376619
Jörg

181

Cho dù bạn đang sử dụng plugin nhật thực maven hay m2eclipse , cấu hình dự án của Eclipse được lấy từ POM, vì vậy bạn cần định cấu hình plugin trình biên dịch maven cho 1.6 (mặc định là 1.4).

Thêm phần sau vào dự án của bạn pom.xml, lưu, sau đó chuyển đến dự án Eclipse của bạn và chọn Thuộc tính> Maven> Cập nhật cấu hình dự án:

<project>
 <build>
  <pluginManagement>
   <plugins>
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>          
        <configuration>
            <source>1.6</source>
            <target>1.6</target>
        </configuration>
    </plugin>
   </plugins>
  </pluginManagement>
 </build>
</project>

4
Tôi đồng ý, đây là câu trả lời chính xác. Nhiều giải pháp khác sẽ tạm thời giải quyết vấn đề, cho đến khi một bản dựng Maven khác được chạy, lúc đó JRE sẽ được đặt lại về phiên bản mặc định. Thêm plugin này vào POM sẽ thay đổi phiên bản JRE mặc định.
matthewb

Trường hợp này (vị trí XPath đầy đủ) trong tệp pom.xml này sẽ đi đâu? Bất cứ nơi nào tôi thêm nó, Maven phàn nàn về một quả bưởi dị hình.
Ed Randall

2
Đây là câu trả lời chính xác. Câu trả lời được chấp nhận là một sửa chữa tạm thời!
Scott Offen


Tôi có cái này trong maven pom.xml của tôi và VẪN nhận được cảnh báo. Mọi thứ dường như hoạt động nhưng cảnh báo vẫn còn đó
ropo

10

Các giải pháp trên khắc phục dự án hoặc giải quyết vấn đề theo một cách nào đó. Đôi khi bạn không muốn sửa chữa dự án và thay vào đó chỉ ẩn cảnh báo.

Để làm điều đó, hãy định cấu hình nội dung của bảng cảnh báo và đảm bảo tắt "đường dẫn xây dựng" -> "Sự cố đường dẫn hệ thống JRE". Giao diện người dùng cho hộp thoại này hơi phức tạp / kỳ lạ / khả năng sử dụng bị thách thức, do đó bạn có thể phải sử dụng một vài tùy chọn để làm cho nó thực hiện những gì bạn muốn.


Tôi có hai Không gian làm việc được thiết lập theo cùng một cách với JDK 7 nhưng biên dịch thành 1.6 (cuối cùng chúng ta sẽ chuyển sang). Máy đã bị tắt cứng bởi Windows Update cũ - và Workspace được mở bắt đầu hiển thị điều này và sẽ không bị nhòe. Cảm ơn đã chỉ ra một công việc xung quanh!
RedYeti

13
Hoặc một cách khác sạch hơn một chút: Cửa sổ -> Tùy chọn -> Java -> Trình biên dịch -> Tòa nhà -> Đặt "Không có JRE tương thích nghiêm ngặt cho môi trường thực thi" thành "Bỏ qua"
RedYeti

@RedYeti cái này sẽ hoạt động nhưng nó không dành cho tôi (Eclipse 4.5)
NathanChristie

3

Trong các tùy chọn nhật thực, đi tới Java-> JREs đã cài đặt-> Môi trường thực thi và thiết lập Môi trường thực thi JRE cho J2SE-1.4


Điều này sẽ tạm thời khắc phục sự cố, cho đến khi một bản dựng maven khác được chạy, tại thời điểm đó, phiên bản JRE sẽ được đặt lại về mặc định. Xem câu trả lời của Pascal Thivent ở trên để thay đổi phiên bản mặc định của JRE được chỉ định trong POM.
matthewb

Không, điều này đang thay đổi không gian làm việc được cài đặt JRE và không phải là dự án cho dự án cụ thể (đó là câu trả lời được chấp nhận)
AlBlue

3

Nguyên nhân thực sự của cảnh báo này là do bạn đã cấu hình dự án của mình để chạy với phiên bản JRE trước đó sau đó bạn đã cài đặt. Nói chung, điều này xảy ra bất cứ khi nào bạn sử dụng các dự án cũ với JRE mới hơn.

Điều này có thể sẽ không gây rắc rối nào cả. Nhưng nếu bạn muốn thực sự ở bên lưu, bạn nên cài đặt JDK cũ, chính xác. Bạn có thể tìm thấy chúng ở đây: http://www.oracle.com/technetwork/java/archive-139210.html

Nếu sau đó bạn khởi động lại nhật thực, bạn có thể vào Window> Preferences> Java> JREs đã cài đặt> Môi trường thực thi và đặt trong trường hợp của bạn J2SE-1.4 , [khớp hoàn hảo] khi nhật thực gọi nó.


Được nâng cấp vì tôi có dự án Java 7 và chỉ cài đặt Java 8.
Amedee Van Gasse

2

Nếu bạn có Java 1.8 thì

Bạn cần phần xml này trong pom.xml và dự án cập nhật.

 <properties>
    <maven.compiler.target>1.8</maven.compiler.target>
  </properties>

2

thủ tục chính xác để giải quyết cảnh báo này, như những người khác viết, là vào bên trong Thuộc tính dự án của bạn và nhấp vào Đường dẫn xây dựng Java nằm ở bên trái. Bây giờ bạn sẽ tìm thấy bên trong thư viện Window của J2SE 1.5 , nhấp đúp vào một trong này và một cửa sổ mới sẽ cung cấp cho bạn khả năng chọn đúng Excecution Môi trường . Bây giờ chọn phiên bản của bạn và cảnh báo sẽ biến mất.


1

Bạn đã thiết lập dự án của bạn để được biên dịch với tuân thủ 1.4? Nếu vậy, hãy làm những gì krock nói . Hoặc để chính xác hơn, bạn cần chọn môi trường thực thi J2SE-1.4 và kiểm tra một trong các JRE đã cài đặt mà bạn muốn sử dụng trong chế độ tuân thủ 1.4; rất có thể bạn sẽ cài đặt 1.6 JRE, chỉ cần kiểm tra cái đó. Hoặc cài đặt 1.4 JRE nếu bạn có bộ thiết lập và sử dụng bộ đó.

Mặt khác, đi đến các tùy chọn Eclipse của bạn, Java -> Trình biên dịch và kiểm tra xem sự tuân thủ có được đặt thành 1.4 không. Nếu thay đổi nó trở lại 1.6. Nếu nó không đi đến các thuộc tính của dự án và kiểm tra xem nó có các cài đặt cụ thể của dự án không. Đi tới Trình biên dịch Java và bỏ chọn nếu bạn muốn sử dụng các tùy chọn nhật thực chung. Hoặc đặt cài đặt cụ thể của dự án thành 1.6, để nó luôn là 1.6 bất kể tùy chọn nhật thực.


Điều này sẽ tạm thời khắc phục sự cố, cho đến khi một bản dựng maven khác được chạy, tại thời điểm đó, phiên bản JRE sẽ được đặt lại về mặc định. Xem câu trả lời của Pascal Thivent ở trên để thay đổi phiên bản mặc định của JRE được chỉ định trong POM.
matthewb

0

Chỉ cần thay đổi phiên bản trong Window-> Preferences-> Java -> JREs đã cài đặt. Kiểm tra danh sách JREs đã cài đặt. Sau đó, Nhấp chuột phải vào dự án của bạn -> thuộc tính -> đường dẫn xây dựng Java -> thư viện. Thay đổi "Thư viện hệ thống JRE" thành phiên bản trong "JREs đã cài đặt".

Cảnh báo sẽ biến mất.


-1

Tôi đã nhận được cảnh báo dự án là " Đường dẫn xây dựng chỉ định môi trường thực thi J2SE-1.5. Không có JRE nào được cài đặt trong không gian làm việc tương thích nghiêm ngặt với môi trường này ". Tôi đã xóa thư viện J2SE1.5 và thêm Thư viện hệ thống JRE mới giải quyết vấn đề của tôi


Điều này khác với câu trả lời của btpka3 như thế nào?
Stevoisiak

-1

Mở rộng dự án của bạn trong không gian làm việc >> Nhấp chuột phải (Thư viện hệ thống JRE) >> chọn thuộc tính >> selectworkspace mặc định JRE giải pháp trên


Điều này chỉ lặp lại thông tin được bao phủ bởi câu trả lời của
btpka3
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.