猿问

Gradle build 找不到包 'java.net.http'

我已经在 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 很陌生,想知道我是否缺少任何依赖声明。


浮云间
浏览 198回答 1
1回答

侃侃无极

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

相关分类

Java
我要回答