IntelliJ: Error: java: error: phát hành phiên bản 5 không được hỗ trợ


14

Tôi đang sử dụng IntelliJ IDEA Ultimate 2019.3.1 . Bất cứ khi nào tôi cố gắng bắt đầu bất kỳ dự án Java Maven đơn giản nào (có thể là một Hello World đơn giản), tôi gặp phải lỗi sau:

Error:java: error: release version 5 not supported

Chạy java --versionbằng terminal tôi nhận được đầu ra sau:

openjdk 11.0.5 2019-10-15
OpenJDK Runtime Environment (build 11.0.5+10-post-Ubuntu-0ubuntu1.1)
OpenJDK 64-Bit Server VM (build 11.0.5+10-post-Ubuntu-0ubuntu1.1, mixed mode, sharing)

Chạy javac --versionbằng terminal tôi nhận được đầu ra sau:

javac 11.0.5

Đi tới Cài đặt của Trình biên dịch Java (như được đề xuất ở đây ) tôi thấy điều này:

Cài đặt trình biên dịch Java

Tôi đã thử chỉnh sửa " Phiên bản mã byte đích " thành 1.8 nhưng tôi gặp các lỗi sau:

Error:(1, 26) java: package javafx.application does not exist
Error:(2, 20) java: package javafx.stage does not exist
Error:(4, 27) java: cannot find symbol
  symbol: class Application
Error:(12, 23) java: cannot find symbol
  symbol:   class Stage
  location: class Main
Error:(7, 9) java: cannot find symbol
  symbol:   method launch(java.lang.String[])
  location: class Main
Error:(11, 5) java: method does not override or implement a method from a supertype

Thay đổi nó thành phiên bản 1.11 Tôi gặp lỗi này:

Error:java: Source option 5 is no longer supported. Use 6 or later.

Bạn nghĩ vấn đề là gì? Làm thế nào tôi có thể giải quyết nó?


Trình độ ngôn ngữ của dự án và các mô-đun là gì?
Bas Leijdekkers

Câu trả lời:


33

Xem  https://stackoverflow.com/a/12900859/104891 .

Trước hết, đặt language level/ release versionstrong pom.xmlnhư thế:

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

Maven đặt mặc định là 1,5 nếu không. Bạn cũng sẽ cần bao gồm maven-compiler-pluginnếu bạn chưa có:

<dependency>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-compiler-plugin</artifactId>
  <version>3.8.1</version>
</dependency>

Ngoài ra, hãy thử thay đổi phiên bản Java ở mỗi nơi sau:

Tệp -> Cấu trúc dự án -> Dự án -> SDK dự án -> 11.

Tệp -> Cấu trúc dự án -> Dự án -> Cấp ngôn ngữ dự án -> 11.

Tệp -> Cấu trúc dự án -> Dự án -> Mô-đun -> -> Nguồn -> 11

Trong dự án -> ctrl+ alt+s -> Xây dựng, Thi hành, Triển khai -> Trình biên dịch -> Trình biên dịch Java -> Phiên bản mã byte dự án -> 11

Trong dự án -> ctrl+ alt+ s-> Xây dựng, Thi hành, Triển khai -> Trình biên dịch -> Trình biên dịch Java -> Mô-đun -> 1.11.


2
Tôi đã làm tất cả mọi thứ, nhưng tôi vẫn thấy lỗi tương tự mỗi khi tôi chạy ứng dụng
Tushar Jajodia

@TusharJajodia thử bao gồm maven-compiler-pluginnhư một người phụ thuộc
Josh Johnson

Sau khi thử nhiều giải pháp trực tuyến mà không gặp may, dòng đặc biệt này đã khắc phục sự cố: Tệp -> Cấu trúc dự án -> Dự án -> Mô-đun -> -> Nguồn -> 11
Maude

2

Mất một lúc để tổng hợp một giải pháp thực tế, nhưng đây là cách để loại bỏ lỗi biên dịch này.

  1. Mở tùy chọn Intelij
  2. Tìm kiếm "trình biên dịch (hoặc một cái gì đó như" compi "
  3. cuộn xuống Maven -> trình biên dịch java. Trong bảng bên phải, sẽ là một danh sách các mô-đun và phiên bản biên dịch java được liên kết của chúng "phiên bản mã byte đích".
  4. Chọn một phiên bản> 1.5. Bạn có thể cần nâng cấp jdk của mình nếu không có sẵn.nhập mô tả hình ảnh ở đây

1

Nếu bạn đang sử dụng spring boot làm cha mẹ, bạn nên đặt thuộc tính java.version, vì điều này sẽ tự động đặt các phiên bản chính xác.

<properties>
   <java.version>11</java.version>
</properties>

Thuộc tính được xác định trong dự án của riêng bạn ghi đè bất cứ thứ gì được đặt trong pom cha. Điều này ghi đè tất cả các thuộc tính cần thiết để biên dịch thành phiên bản chính xác.

Một số thông tin có thể được tìm thấy ở đây: https://www.baeldung.com/maven-java-version


Bây giờ tôi cũng đang bắt đầu tìm hiểu về Spring Boot, vì vậy thông tin này có thể thực sự hữu ích cho tôi :) bạn có thể giải thích chi tiết hơn không? (Trong tập tin nào tôi nên thay đổi các thuộc tính đó, tôi nên viết chính xác những gì ...?) Cảm ơn!
Robb1

1
Tôi đã thêm một số thông tin thêm trong bài viết của tôi.
V Jansen

1

nếu bạn đang sử dụng intellj phải cài đặt => trình biên dịch thay đổi phiên bản thành phiên bản hiện tại của bạn


0

Tôi thêm mã tiếp theo vào pom.xmltập tin của tôi , nó đã giải quyết vấn đề của tôi.

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
</properties>

0

Bạn chỉ phải thêm hai dòng trong tệp pom.xml của mình và sau đó, vấn đề của bạn sẽ biến mất.
Thêm hai dòng này trong tệp pom.xml của bạn -

<!--pom.xml-->
<properties>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
</properties>

0

Trong IntelliJ, mở tệp pom.xml

Thêm phần này trước (Nếu tệp của bạn đã có một phần, chỉ cần thêm các dòng dưới đây vào phần hiện có):

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

0

Giải pháp làm việc duy nhất trong trường hợp của tôi là thêm khối sau vào pom.xml:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.8.0</version> <configuration> <release>12</release>
        </configuration>
        </plugin>
    </plugins>
</build>
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.