小编典典

Java 9没有类定义异常

java

所以我想尝试http客户端

package com.company;

import jdk.incubator.http.HttpClient;

public class Main {

public static void main(String[] args) {
    HttpClient client =  HttpClient.newHttpClient();

  }
}

我的模块信息如下所示

module com.company {
    requires jdk.incubator.httpclient;
}

但是我明白了 java.lang.NoClassDefFoundError: jdk/incubator/http/HttpClient

我真的不明白为什么。我的Java版本是“ build 9-ea + 169”,并且使用了最新版本的IntelliJ
idea(2017.1.3)。我调查了这个答案,看来我只需要向文件中添加要求,但是由于某种原因它不起作用。


阅读 212

收藏
2020-11-01

共1个答案

小编典典

如果我--add-modules jdk.incubator.httpclient用作启动参数,对我来说效果很好。

HttpClient client = HttpClient.newHttpClient();
client.executor().execute(() -> System.out.println("Here")); // prints Here

如果您说模块需要它,并不意味着它会被包括在内;默认情况下不包含。

2020-11-01