当前位置: 首页 > 知识库问答 >
问题:

包java。网JDK 11不存在http

云航
2023-03-14

我不知道出了什么问题,因为我的代码中没有错误,但构建失败,错误包是java。网http不存在。我下载了jar并将其添加为依赖项。它还列在java——列表模块中。

  • CompileSdkVersion 32
  • BuildToolsVersion'30.0.2'
  • minSdkVersion 26
  • Target etSdkVersion 30
  • gradleVersion='7.2'
  • 源码兼容性
  • JavaVersion.VERSION_11
  • 目标兼容性JavaVersion.VERSION_11
  • 实现文件('libs/java.net.http.jar')

我从jdk文件夹中的jmods文件夹中得到的jar。我尝试更新到jdk 17也一样。我在JDK9上尝试了这个“包java.net.http不存在”错误的解决方案,但找不到返回模块。我受影响的代码

import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

HttpRequest request = HttpRequest.newBuilder()
                    .uri(new URI(reqURI))
                    .build();

HttpResponse<String> response = httpClient.send(request, 
HttpResponse.BodyHandlers.ofString());
System.out.println("uri:" + response.uri());
System.out.println("header:" +response.headers());
System.out.println("body" + response.body());
System.out.println("status code" + response.statusCode());

java版本:

  • openjdk version"11"2018-09-25
  • OpenJDK运行时环境18.9(build 11 28)
  • OpenJDK 64位服务器VM 18.9(构建11 28,混合模式)

在build.gradle

dependencies {
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'com.google.firebase:firebase-messaging:23.0.0'
implementation files('libs/simple-xml-2.6.7/simple-xml-2.6.7.jar')
implementation files('libs/ksoap2-android-assembly-2.6.5/ksoap2-android-assembly-2.6.5.jar')
implementation files('libs/org-apache-commons-io/org-apache-commons-io.jar')
implementation files('libs/sc-light-jdk15on-1.47.0.2.jar')
implementation files('libs/scpkix-jdk15on-1.47.0.2.jar')
implementation files('libs/scprov-jdk15on-1.47.0.2.jar')
implementation files('libs/java.net.http.jar')
}

实际上,我想要的是替换下面已经不建议使用的代码

 DefaultHttpServerConnection conn = new DefaultHttpServerConnection();
params = new BasicHttpParams();

params.setIntParameter(CoreConnectionPNames.SO_TIMEOUT, 5000)
        .setIntParameter(CoreConnectionPNames.SOCKET_BUFFER_SIZE,8*1024)
        .setBooleanParameter(CoreConnectionPNames.STALE_CONNECTION_CHECK,false)
        .setBooleanParameter(CoreConnectionPNames.TCP_NODELAY, true)
        .setParameter(CoreProtocolPNames.ORIGIN_SERVER,"HttpComponents/1.1");
conn.bind(socket, params);

从请求的URI中提取信息

HttpRequest request = conn.receiveRequestHeader();
request.getRequestLine().getMethod().toUpperCase(Locale.ENGLISH);
Uri uri = Uri.parse(request.getRequestLine().getUri());
String httpAPI = uri.getPath();
String httpQuery = uri.getQuery();

共有1个答案

邹齐智
2023-03-14

我通过更改应用程序的targetSdkVersion和CompileSdkVersion(参见将应用程序迁移到Android 11)解决了这个问题,否则会有很多不推荐的功能。

 类似资料:
  • 它是一个命令行程序。试图使用java.net.http模块发送POST调用,但我一直收到以下错误。 Intellij project SDK-java 11.0.10版 代码-

  • 我想在我的Java代码中使用@net.jcip.annotations.NotThreadSafe。我已经尝试导入它是项目pom.xml中的依赖项。但是,我仍然收到错误:我的导入有问题吗? 包装网。jcip。批注不存在

  • 我的主文件夹是ABC里面是2个名为class和src的文件夹,src里面是2个名为ObjtFile和testFile的文件夹,ObjtFile里面是ABC. java,而testFile里面是TestABC. java。(里面的类是一样的,但是. class代替)现在ABC包含 而TestABC。java包含 错误显示TestABC。java:2:错误:包对象文件不存在 导入对象文件。ABC;

  • 我遇到了一个Java类的问题,它不停地告诉我,我试图导入的包不存在,但正如您所看到的,包存在。包名为,它存在于文件夹中。

  • 在此处输入图像描述 我突然收到这个错误信息,现在不知道该怎么办。我不确定还能提供什么额外的信息。如果我遗漏了什么,请告诉我。

  • 问题内容: 所以在根目录下有一个文件夹 在东西中,有一堆带有定义的Java文件 我正在那里是一个子域 我已添加 到班级路径中。 在我的顶部添加 但是我得到一个错误…为什么? 问题答案: 它们在正确的子目录中吗? 如果放置在类路径上,则使用定义的文件应位于中。 编辑 :如果您还不知道这一点,则可能应该阅读以下内容:http : //download.oracle.com/javase/1.5.0/d