Gradle构建无法找到'java.net.http'包

4
在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;

这是我的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'
}

我对Gradle非常陌生,想知道是否漏掉了任何依赖声明等内容。


准确地说明你正在做什么,你期望发生什么,以及实际发生的情况,包括你得到的精确和完整的输出。 - JB Nizet
1个回答

9

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


非常感谢! :) - Plebo13
如果您没有Java 11怎么办?:( - john k
如果没有Java 11,您无法使用Java 11 API编译源代码。 - madhead

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接