Hello

Thanks Volkan for all this work, this is well appreciated. I'm not an expert in this part of Maven, but personally I would be happy to keep Java HTTP as the default mechanism. One of my medium-term wish, after Java module work, would be to reduce the number of Maven dependencies in the hope to make Maven starts faster, and relying more on what is already in the JDK would be part of that.

    Martin


Le 14/11/2025 à 13:29, Volkan Yazıcı a écrit :
Hello,

*Disclaimer: I am a member of the Apache Logging Services (Log4j, Log4cxx,
Log4net) PMC and I work on the Java Core Libraries (Networking) team at
Oracle. This message reflects my personal views and is sent solely in my
capacity as an open-source maintainer. It is not affiliated with my
employer in any way and carries no financial motivation.*

On 2025-09-30, we had a conversation in the #maven Slack channel
<https://the-asf.slack.com/archives/C7Q9JB404/p1759231362859829>[1], where
I learned that the Java HTTP Client (i.e., `java.net.http.HttpClient`) was
demoted from being the default HTTP transport for Maven 4, which targets
Java 17. This change is implemented in maven-resolver#1599
<https://github.com/apache/maven-resolver/pull/1599>, which was merged on
2025-09-22 and documents the rationale. The concerns that motivated the
change were unknown to the `HttpClient` crew at Oracle and the Slack
conversation helped a lot to get to the bottom of things. AFAIU, in
particular, two issues were of major importance behind this decision:

    1. Incorrect handling of GOAWAY – MNG-8145
    <https://issues.apache.org/jira/browse/MNG-8145> JDK-8335181
    <https://bugs.openjdk.org/browse/JDK-8335181> (delivered in Java 24,
    ported to `17.0.17` & `21.0.8`)
    2. GET method adds `Content-Length: 0` header, rendering services like
    JitPack unusable – jitpack/jitpack.io#7186
    <https://github.com/jitpack/jitpack.io/issues/7186> JDK-8283544
    <https://bugs.openjdk.org/browse/JDK-8283544> (delivered in Java 19,
    ported to `17.0.18`, which will be released on 2026-01-20)

*I want to inform you that all two issues are addressed and backported to
Java 17.*

The Slack conversation spiralled into an `HttpClient` feedback session,
which I am very happy about, and I shared all your remarks with the Oracle
team; compression/caching/interception support, graceful GOAWAY support
<https://github.com/laeubi/java-http-client/issues/8>, custom
`SSLParameters` issues <https://github.com/laeubi/java-http-client/issues/6>,
etc. If there is anything you further would like to ask/share, either now,
or at a later time, you can either post it to the relevant OpenJDK mailing
list[2] (e.g., net-dev <https://mail.openjdk.org/mailman/listinfo/net-dev>),
or email/DM me.

Cheers!

[1] I want to thank Christoph Läubrich, Konrad Windszus, Matthias Bünger,
Romain Manni-Bucau, and Tamas Cservenak for their kind help in providing
feedback.
[2] If the mailing list subscription is not working for you, please
email/DM me.


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to