Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

The jdk.incubator.httpclient module not found in Java11

Using the early access build for JDK/11 to compile an existing code based on Java-9 which was using a VM argument

--add-modules jdk.incubator.httpclient

to resolve the HTTP/2 client incubator module now ends up with a compilation error

Module not found: jdk.incubator.httpclient

Java version details :-

java 11-ea 2018-09-25
Java(TM) SE Runtime Environment 18.9 (build 11-ea+11)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11-ea+11, mixed mode)
like image 499
Naman Avatar asked May 01 '18 19:05

Naman


1 Answers

With the standardization of the HTTP Client API, the incubated APIs are now removed.

The module name and the package name of the standard API will be java.net.http which can now be used as -

module <yourModuleName> {
    requires java.net.http;
}

Also, adding to the tally, the applications, frameworks(like Maven, Gradle etc) or IDEs relying on the classpath would no more need to set the following command-line option to request the incubator module to be resolved:

--add-modules jdk.incubator.httpclient    OR      --add-modules java.net.http

Since being a standard module the java.net.http module shall be resolved by default.


Edit:- I've jotted down the migration steps required for a transition from incubation to the standard implementation of the HTTP/2 client @ Medium.

like image 69
Naman Avatar answered Nov 16 '22 00:11

Naman