我已经在Intellij中建立了一个Java项目。当我在Intellij中构建项目时,一切正常。但是,当我尝试使用projects目录中的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还是很陌生,想知道我是否缺少任何依赖项声明。
答案 0 :(得分:0)
java.net.http
首先appeared in Java 11,而您正在尝试为Java 8(sourceCompatibility = 1.8
)编译代码。您需要使用Java 11+进行编译(即使用Java 11+进行构建)和目标语言级别(sourceCompatibility
)。