Gradle 构建找不到包“java.net.http”

Ple*_*o13 4 java dependencies intellij-idea gradle

我已经在 Intellij 中建立了一个 Java 项目。当我在 Intellij 中构建我的项目时,一切正常。但是当我尝试gradle build在项目目录中使用命令行构建它时,Gradle 抱怨找不到 java.net.http 包。

这是我在其中一个类中使用的导入的示例:

import com.google.common.base.Joiner;
import dev.morphia.annotations.Entity;
import dev.morphia.annotations.Id;
import dev.morphia.annotations.Reference;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.http.HttpResponse.BodyHandlers;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Date;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.logging.Logger;
import org.apache.commons.math3.stat.descriptive.rank.Median;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
Run Code Online (Sandbox Code Playgroud)

这是我的 build.gradle 文件:

plugins {
    id 'java'
}

group 'DatabaseUpdater'
version '1.0-SNAPSHOT'

sourceCompatibility = 1.8

repositories {
    mavenCentral()
}

dependencies {
    testCompile group: 'junit', name: 'junit', version: '4.12'
    compile 'org.mongodb:mongo-java-driver:2.12.3'
    compile 'dev.morphia.morphia:core:1.5.3'
    compile 'com.google.guava:guava:28.0-jre'
    compile 'org.jsoup:jsoup:1.12.1'
    compile group: 'org.apache.commons', name: 'commons-math3', version: '3.0'
}
Run Code Online (Sandbox Code Playgroud)

我对 Gradle 很陌生,想知道我是否缺少任何依赖声明。

mad*_*ead 5

java.net.http首次出现在 Java 11 中,您正在尝试为 Java 8 ( sourceCompatibility = 1.8)编译代码。您需要使用 Java 11+ 进行编译(即使用 Java 11+ 构建)和目标语言级别 ( sourceCompatibility)。