ý tưởng intellij - Lỗi: java: phát hành nguồn không hợp lệ 1.9


129

Tôi đang cố chạy lớp trình phân tích cú pháp JSQL của mình, nhưng tôi đang nhận được Error: java: invalid source release 1.9.

Tôi đã cố gắng làm theo câu trả lời này . Tôi đã thay đổi Tệp> Xây dựng, Thực thi, Triển khai> Trình biên dịch Java> Phiên bản mã byte dự án: 1.8. Tuy nhiên, tôi không thể thay đổi cấp độ ngôn ngữ Mô-đun và cấp độ ngôn ngữ Dự án thành 1.8 vì không có tùy chọn cho điều đó. Tôi vẫn nhận được cùng một lỗi dưới đây.

lỗi nhập mô tả hình ảnh ở đây

package cs4321.project2;

import java.io.FileReader;
import net.sf.jsqlparser.parser.CCJSqlParser;
import net.sf.jsqlparser.statement.Statement;
import net.sf.jsqlparser.statement.select.Select;

public class Parser {
    private static final String queriesFile = "resources/input/queries.sql";

    public static void main(String[] args) {
        try {
            CCJSqlParser parser = new CCJSqlParser(new FileReader(queriesFile));
            Statement statement;
            while ((statement = parser.Statement()) != null) {
                System.out.println("Read statement: " + statement);
                Select select = (Select) statement;
                System.out.println("Select body is " + select.getSelectBody());
            }
        } catch (Exception e) {
            System.err.println("Exception occurred during parsing");
            e.printStackTrace();
        }
    }
}

Phiên bản nào của intellij?
soorapadman

@soorapadman intellij idea 2017.2.2
Alex

Có vẻ tốt nó nên làm việc. Bạn đang làm việc với dự án maven?
soorapadman

Tuy nhiên, tôi không thể thay đổi cấp độ ngôn ngữ Mô-đun và cấp độ ngôn ngữ Dự án thành 1.8 vì không có tùy chọn cho điều đó. tại sao lại như vậy và lỗi gì bạn nhận được trong khi cố gắng để làm như vậy? Ngoài ra 1.9 dường như là phiên bản java. Bạn đã cấu hình Java-9 trên máy / intelliJ chưa?
Naman

Câu trả lời:


324

Chọn dự án, sau đó chọn Tệp> ProjectStr struct> ProjectSinstall> Modules -> nguồn Bạn có thể có Cấp độ ngôn ngữ được đặt ở mức 9:

ảnh chụp màn hình

Chỉ cần thay đổi thành 8 (hoặc bất cứ điều gì bạn cần) và bạn đã sẵn sàng để đi.

Ngoài ra, hãy kiểm tra các cài đặt Cấp độ ngôn ngữ tương tự được đề cập ở trên, trong Cài đặt dự án> Dự án

nhập mô tả hình ảnh ở đây


1
Ồ, cuối cùng tôi cũng biết trình độ ngôn ngữ dự án nghĩa là gì, cảm ơn
Daniel Dai

1
Ngoài ra, trong hình trên, đừng quên đi đến phần Mô-đun
John Peters

1
Thay đổi tốt hơn trong pom.xml <java.version> 1.8 </java.version> Vì, nếu không, nó có thể đặt lại cấu hình khi nhập lại vào intellij
Rakesh Yembaram

21

Đôi khi sự cố xảy ra do phiên bản không chính xác của mã byte dự án.

Vì vậy, hãy xác minh nó: Tệp -> Cài đặt -> 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 và đặt giá trị của nó thành 8

Thí dụ


1
đó là giải pháp cho tôi trên đầu Cài đặt dự án-> Mô-đun -> Trình độ ngôn ngữ
Kemal Atik

1
Đây là một câu trả lời bổ sung tuyệt vời cho câu trả lời được chấp nhận.
Dalton

15

Tôi đã có cùng một vấn đề. Có một câu trả lời:

  • 1. CTRL + ALT + Shift + S ;
    1. Sau đó chuyển đến " Mô-đun" ;
    2. " Phụ thuộc ;
    3. Thay đổi " Mô-đun SDK ".

Hiểu rồi! Bây giờ bạn có Java 9!


5

intellij-không hợp lệ-nguồn

Bạn đã đặt SDK JAVA và cấp độ ngôn ngữ phù hợp trong cài đặt dự án. Nhấn vào đây để phóng to.


3

Khi sử dụng dự án maven.

kiểm tra tệp pom.xml

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <java.version>9</java.version>
</properties>

nếu bạn đã cài đặt jdk 8 trong máy của mình, hãy đổi thuộc java.versiontính từ 9thành8


2

Tôi vừa gặp vấn đề tương tự. Dự án đã mở bằng Java 9 nhưng ngay cả sau khi tất cả các mô-đun và dự án được đặt lại thành 1.8, tôi vẫn gặp lỗi.

Tôi cần buộc Gradle làm mới dự án và sau đó mọi thứ chạy như mong đợi.


1

Hoặc thông qua Cài đặt dự án:

  • Thiết lập dự án
  • Dự án
  • Cấp độ ngôn ngữ dự án (được đặt để phù hợp với nhu cầu của bạn)

Tùy thuộc vào cách xây dựng của bạn được thiết lập, đây có thể là cách để đi.


1

Trong Cấu trúc dự án trong SDK dự án: sửa đổi SDK thành 11 hoặc cao hơn và ở cấp ngôn ngữ dự án: sửa đổi thành 11 - Cú pháp biến cục bộ cho các tham số lambda


0

Đối với bất kỳ ai đang vật lộn với vấn đề này đã thử giải pháp của DeanM nhưng vô ích, có một thứ khác đáng để kiểm tra, đó là phiên bản của JDK mà bạn đã cấu hình cho dự án của mình. Điều tôi đang cố gắng nói là nếu bạn đã cấu hình JDK 8u191 (ví dụ) cho dự án của bạn, nhưng mức độ ngôn ngữ được đặt thành cao hơn 8, bạn sẽ gặp lỗi này.

Trong trường hợp này, có lẽ tốt hơn là hỏi bất kỳ ai phụ trách dự án, phiên bản nào của JDK sẽ thích hợp hơn để biên dịch các nguồn.


0

Tôi cũng gặp vấn đề tương tự ở IntellijIdea, sau khi chọn dự án, sau đó Tệp> ProjectStr struct> ProjectSinstall> Modules -> nguồn tùy chọn đang hiển thị - Cấp độ ngôn ngữ được đặt ở 9:

Vì vậy, tôi chỉ thay đổi nó thành 8. Tuy nhiên, vấn đề của tôi vẫn chưa được giải quyết.

Vấn đề chính là với pom.xml. Tôi đã nhập lại tệp pom.xml và vấn đề của tôi đã được giải quyết.

Vì vậy, bất cứ khi nào bạn thay đổi tệp pom.xml, IDEA cần cập nhật cấu trúc dự án. Ví dụ: nếu bạn đã thêm vào đó một số phụ thuộc nữa, IDEA cần thêm chúng làm thư viện dự án.

Trong "Cài đặt> Xây dựng, Thực thi, Triển khai> Công cụ xây dựng> Maven> Nhập", bạn có thể chọn "Nhập dự án Maven tự động". Điều này sẽ tự động gọi hành động "Reimport" khi pom.xml được thay đổi.

nhập mô tả hình ảnh ở đây


0

Lớp tôi có cùng một vấn đề và thay đổi tất cả các cài đặt được đưa ra trong các giải pháp trước đó không có sự khác biệt. Hơn tôi đã đi đến build.gradle và tìm thấy dòng này và xóa nó.

sourceCompatibility = '11'

va no đa hoạt động! :)

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.