Intellij 在使用 Java 11 编译时找不到 java.net.http

2022-09-03 16:26:35

我试图为Java 11准备我的一个项目,但由于某种原因,Intellij找不到java.net.http。它不会像我输入错误那样在中加下划线,但是当我尝试构建项目时,我会收到下面的错误。我尝试重新安装Intellij 2018.2.3并卸载所有其他版本的Java。任何关于如何使这项工作的建议将不胜感激。module-info.java

错误:

Information:java: Errors occurred while compiling module 'crawler'
Information:javac 11 was used to compile java sources
Information:15/09/2018 11:16 - Compilation completed with 1 error and 0 warnings in 636 ms
C:\Users\Will\IdeaProjects\crawler\src\module-info.java
Error:(2, 22) java: module not found: java.net.http

模块信息.java:

module crawler {
    requires java.net.http;
}

请求.java:

package Request;

import java.io.IOException;
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

public class Request {
    public static void main(String[] args) throws IOException, InterruptedException {
        System.out.println("starting download");
        String body = HttpClient.newBuilder().build().send(HttpRequest.newBuilder().uri(URI.create("https://example.com")).build(), HttpResponse.BodyHandlers.ofString()).body();
        System.out.println("finished download:" + body);
    }
}

结构:

crawler
    src
        Request
            Request.java
        module-info.java

答案 1

如果上述建议的解决方案(通过@Will)不能像我一样解决您的问题(即设置项目语言级别),请检查以查看java编译器的字节码目标版本已设置为什么,在您的项目首选项中:Set project preferences byte code version for java in IntelliJ


答案 2

我设置了错误的项目语言级别。要使用java.net.http,你需要它至少是11。要更改项目语言级别,请参阅:https://www.jetbrains.com/help/idea/project-page.html

希望这能帮助别人。


推荐